MySQL、使ってますか?
AWSのAurora、使ってますか??
SQLのクエリチューニング、してますか???
弊社も常々WEBサイトのページ表示速度とは戦い続けていて、日々クエリチューニングをしています。
そんなある日、スロークエリログにて重たいクエリを発見したので早速EXPLAINなどを使って確認しようとしたところ・・・
1回目→激重
2回目→爆速
で返ってきて「???」となりました。
キャッシュだろうと思い「RESET QUERY CACHE」を打ってその後何回も実行してみましたが、結果は常に爆速。
一体1回目の実施は何だったの?まさか…と思い確認したところ、Auroraではバッファプールキャッシュやページキャッシュといったキャッシュが使われこれらのキャッシュはDB再起動しても消えないしすべてのキャッシュを削除しても消えないとのことでした。
つまり、初回時の速度を再現したいのであればDBインスタンスを新しく作成して実効するしかな、とのことです。
詳しくはこちらの「存続できるキャッシュのウォームアップ」あたりをご覧ください。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html