sql >> データベース >  >> RDS >> Mysql

ウェブサイトデータベースを最適化する方法

    データベースには、すべての投稿、ページ、コメント、メニュー、およびあらゆる形式のテキストデータなど、膨大な量の情報を保存できます。あなたが持っているより開発されたサイトは、そのデータベースが大きくなります。それに伴い、データベースはスパムコメント、下書き、閉じたファイルや一時ファイルなどの不要なアイテムで「乱雑」になる可能性があります。

    もちろん、ウェブサイトのパフォーマンスが低下したり、cPanelアカウントのリソースが過剰に使用されたりする可能性があります。「重い」データベースへのMySQLリクエストの数がキューがエントリプロセスとCPU制限に達しています。したがって、データベースからデータを効率的に取得するには、適切な最適化が必要です。

    このガイドでは、この目標を達成するためのいくつかの方法を紹介します。

    1。まず、Webサイトに割り当てられているデータベースを見つける必要があります。名前がわからない場合は、Webサイトの構成ファイルを確認してください。

    構成ファイルへのパス WordPress Joomla PrestaShop インストールルートフォルダ>>/config/settings.inc.php Drupal インストールルートフォルダ>>/sites/default/settings.php Moodle Magento インストールルートフォルダ>>/app / etc / local.xml
    CMS
    インストールルートフォルダ、wp-config.php define('DB_NAME'、'cpuser_database');
    インストールルートフォルダ、configuration.php public $ db ='cpuser_database';
    define('_ DB_NAME_'、cpuser_database');
    OpenCart インストールルートフォルダ、config.php define('DB_DATABASE'、'cpuser_database');
    'データベース'=>'cpuser_database'、
    インストールルートフォルダ、config.php $ CFG-> dbname、='cpuser_database';
    <[! CDATA [cpuser_database]]>
    phpBB インストールルートフォルダ、config.php $ dbname ='cpuser_database';


    2。この場合、WordPressベースのWebサイトがあり、データベース名は nctests_wp255です。 :



    3.変更を加える前に、バックアップをダウンロードすることを強くお勧めします。あなたのデータベースの。これを行うには、ファイルに移動します セクション>バックアップ メニュー:



    4。 MySQLデータベースバックアップのダウンロードで問題のデータベースをクリックします ダウンロードを開始するためのメニュー:



    5。これで、最適化自体を進めることができます。 データベースに移動します セクション>phpMyAdmin メニュー:



    6。左側のメニューでデータベースをクリックして、テーブルのリストを展開します。



    7。必要なテーブルにチェックマークを付け、テーブルの最適化を選択します 以下に示すように、ドロップダウンメニューから:



    8。同様に、複数のテーブルを一度に最適化することも、すべてチェックを使用してすべてを最適化することもできます。 オプション:



    9。その結果、次の出力が得られます。



    10。データベースを最適化するもう1つの方法は、不要なデータを削除することです。 SQLを介して実行できます 次のクエリを使用したコマンドライン:

    DELETE FROM $ table where ;

    where $ table 調整する必要のあるテーブルの名前を定義し、 実行する必要のある変更を定義します:



    11。このオプションを詳しく見て、どのように機能するかを考えてみましょう。

    キーワードを含むすべての投稿を削除する必要がある場合は、次のコマンドを使用する必要があります。

    DELETE FROM'table'
    WHERE'column' like'%keyword%
    '

    注: テーブルを交換する必要があります および データベースの実際の値を使用します。

    これを行うには、Webサイトの投稿を含むテーブルに移動し、対応する列を見つけます。私たちの場合はwp9x_posts およびposts_title 列:



    以下に、コマンドの最終的なバリエーションを示します。

    DELETE FROM'wp9x_posts'
    WHERE'post_title' like'%test%'




    移動を押したら 、'test'があるすべての投稿 タイトルの単語が削除されます。

    出力は次のようになります:



    12。指定した期間の投稿を削除する場合は、次の投稿を自由に使用してください。

    DELETE FROM'table'
    WHERE'column'between'datefrom'と'dateto '


    繰り返しますが、テーブル および datefromだけでなく実際の値に置き換える必要があります およびdateto

    注: データベースで検索できる正確な日付と時刻を指定する必要があります。



    最後のコマンドは次のとおりです。

    DELETE FROM'wp9x_posts'
    WHERE'post_date' between '2015-06-24 19:48:14' and '2016-07-20 23:27:23'


    13。特定のユーザーからコメントを削除する必要があるとします。使用するコマンドは次のとおりです。

    DELETE FROM'table'
    WHERE'column' ='username'


    この場合、次のようになります。

    DELETE FROM'wp9x_comments'
    WHERE'comment_author' ='test_user'


    または、特定のステータスの投稿を削除する必要がある場合:

    DELETE FROM'table'
    WHERE'column' ='status'


    この場合、次のようになります。

    DELETE FROM'wp9x_posts'
    WHERE'post_status' ='closed'


    他のテーブル、列、データベースでも同じモードが機能します。対応する値を設定するだけです。 MySQLのドキュメントを参照して、可能な操作とMySQL構文の詳細を確認することもできます。


    それだけです!


    サポートが必要ですか?ヘルプデスクにお問い合わせください


    1. OracleDatabaseでカーソルが複数の値を返すカーソルベースのレコードデータ型

    2. PDOプリペアドステートメントの安全性

    3. OracleのASCIISTR()関数

    4. 'IN'句から順序を維持する