本番環境でデータ量が増えた瞬間、アプリケーションが突然重くなる すべてのエンジニアが一度は直面するこの悪夢。その原因の多くは “気づかぬうちにDBを苦しめているSQL” です。 この記事では、実務で特に被害が大きかった 5つの致命的なSQLアンチパターン と、追加で バッチ処理の最適化(バルクINSERT)、EXISTS vs IN の違い を取り上げ、 なぜ遅くなるのか(原理) どう直すべきか(改善策) どんな落とし穴があるか(トレードオフ) 実務チェックリスト を、技術書レベルでわかりやすく整理します。 目次 インデックスを殺す「関数・演算子」利用 アプリ性能を破壊する「N+1問題」 隠れたパフォーマンスキラー「SELECT *」 前方一致以外の LIKE 検索 バッチ処理最適化:バルクINSERT EXISTS vs IN の違い 補足:EXPLAINを使った実践的な確認フロー 現場

