とあるバッチ処理の中で、実行結果が何時間経ってもまるで返ってこないクエリがありました。 SQL初心者の私には大きな課題でしたが、試行錯誤の末、そのクエリを約6秒で返せるほどにパフォーマンスを改善することができました! この記事では、SQLの知識が浅い私がどのようにしてクエリのパフォーマンスを向上させたのか、その具体的なステップと方法についてご紹介します。 前提 筆者のパフォーマンス改善前のステータス 文系卒4年目 主にバックエンドエンジニア(Java) SQLについて 何も見ずにできるのはSELECTとJOINくらい。 パフォーマンスを意識してクエリを書いたことがない。 実行計画が読めない。 検証DB PostgreSQL 14 実装以外でやったこと ボトルネックの特定 パフォーマンス改善の第一歩は敵を知ることです。 EXPLAINを用いて実行計画を取得し、どこに問題があるのかを明確にしま
