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

mysqlキャッシュを手動で構築する方法

    MySQLキャッシュは、MyISAMストレージエンジンを使用するかInnoDBストレージエンジンを使用するかによって動作が異なります。

    MyISAMはインデックスのみをキャッシュし、データはキャッシュしません。 LOAD INDEX INTO CACHE> MyISAMインデックスをキーバッファキャッシュにプリロードします。ただし、InnoDBを使用する場合、同等のステートメントはありません。

    InnoDBは、データページとインデックスページの両方をキャッシュします。キャッシュバッファをウォームアップするための特別なコマンドはありませんが、全表スキャンと全インデックススキャンを実行してバッファにロードするSQLステートメントをいくつか実行できます。 wget を使用せずに、サーバー上のスクリプトを使用してこれを実行できるはずです。 !

    @code_burgarの回答に同意します。15万行は十分に小さいため、キャッシュがウォーミングアップしている間はパフォーマンスの低下に気付かないはずです。

    クエリキャッシュ 、それは別の問題です。特定のSQLクエリを使用してクエリキャッシュをウォームアップする必要があります。これは、そのキャッシュがそれらのSQLクエリに関連付けられた結果セットを逐語的に保持するためです。あなたのwget ソリューションは非効率的であり、おそらく多くの作業を複製します。 1回キャッシュする各クエリを実行するスクリプトをサーバーで実行することにより、クエリキャッシュを準備できるはずです。 。

    ただし、これらのクエリが何であるかを把握するためにコードレビューを実行し、コードが変更された場合はキャッシュプリロードスクリプトを定期的に更新する必要がある場合があります。



    1. データベース[dbName]にアクセスできません。 (ObjectExplorer)

    2. 私の場合、OracleでSQLを作成するにはどうすればよいですか?

    3. type ='datetime-local'で入力の最小値と最大値を設定するにはどうすればよいですか?

    4. RIGHTJOINとCOUNTの組み合わせ