innodbデータファイルのページは、innodbバッファープールにキャッシュされます。これはあなたが期待することです。優れたハードドライブでも、ファイルの読み取りは遅くなります。特に、データベースが主に認識するランダム読み取りは遅くなります。
最初のクエリが、大量のページをバッファプールにプルするある種のテーブルスキャンを実行している可能性があります。その後、それらへのアクセスは高速です。または同様のもの。
これは私が期待することです。
理想的には、すべてのテーブルに同じエンジンを使用します(例外:システムテーブル、一時テーブル(おそらく)、および非常に小さいテーブルまたは短命のテーブル)。これを行わない場合、彼らはラムのために戦わなければなりません。
すべてのテーブルがinnodbであると仮定して、バッファープールがサーバーの物理RAMの最大75%を使用するようにします(マシン上で他のタスクをあまり実行しないと仮定します)。
そうすれば、データベースの約12GをRAMに収めることができるので、「ウォームアップ」されると、データベースの「最も使用されている」12GがRAMになり、アクセスが高速になります。
mysqlの一部のユーザーは、再起動後に、別のマシンからコピーされたクエリをしばらくの間(これらはレプリケーションスレーブになります)、本番プールに追加するまで送信することにより、本番サーバーを「ウォームアップ」する傾向があります。これにより、キャッシュがコールドのときに見られる極端な速度低下を回避できます。たとえば、Youtubeはこれを行います(または少なくとも以前はGoogleが購入し、現在はGoogle-fuを使用している可能性があります)