[webパフォーマンスチューニング事例]負荷試験はクリアしたものの、本番で障害が起きたケース このプロジェクトでは、リリース前に負荷試験をしていて、rps(requests per sconds)は2500を想定していました。試験時はその想定をクリアできたものの、本番では障害が起きてしまったという事例です。 このケースで、負荷試験の時点で「ボトルネックだ」と認識していたクエリがこちらです。 このクエリが問題なのはわかっていました。このORDER BYのとこに「isXXX」という値があります。上のSELECTのカラムに書いていますが、この「l.is_xxx」の値と、「h.id IS NOT NULL」を演算した値でORDER BYしています。これの何が問題かというと、indexを使えなくなってしまいます。 そのためテーブルをフルスキャンすることになりますが、100行しかスキャンする必要がない