クエリチューニングと最適化

スポンサーリンク
PostgreSQL

【入門編】 VACUUM ANALYZE – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、エンジニアとしてPostgreSQLというデータベースと格闘していると、時々「あれ、なんだか最近動きが重いな?」と感じることがあります。まるで、散らかりっぱなしの部屋で探し物をするような、あの...
PostgreSQL

【テクニカル・上級編】 auto_explain – PostgreSQL

幽霊のような低速クエリを捕獲せよ:PostgreSQL `auto_explain` の深淵現場で火を吹いているデータベースを目の当たりにしたとき、まず何をしますか? 多くのエンジニアは「とりあえず `EXPLAIN ANALYZE` を叩...
PostgreSQL

【実務・中級編】 auto_explain – PostgreSQL

「本番環境で急にクエリが重くなったけど、再現しない……」エンジニアなら一度は味わったことがある、あの胃がキリキリする瞬間ですよね。スロークエリログを眺めても、肝心の「実行計画(EXPLAIN)」がわからなければ、インデックスを貼るべきか、ク...
PostgreSQL

【入門編】 auto_explain – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、Webサイトやアプリを触っていて「あれ、今のページ表示されるの遅いな……」なんて感じること、ありますよね。実は、その裏側ではデータベースが一生懸命働いているのですが、時々「どこでつまずいている...
PostgreSQL

【テクニカル・上級編】 カラム単位の統計情報設定 – PostgreSQL

なぜ、「デフォルト」の統計情報だけでは足りなくなるのか?PostgreSQLのクエリオプティマイザは、間違いなく世界で最も賢い仕組みの一つです。しかし、どれほど優秀なプランナーであっても、統計情報という「地図」が不正確であれば、迷走するのは...
PostgreSQL

【実務・中級編】 カラム単位の統計情報設定 – PostgreSQL

「クエリがなぜか遅い」。現場でそんな相談を受けたとき、真っ先に疑うのはインデックスの欠如ですが、次に疑うべきは「オプティマイザが間違った道を選んでいる」という事実です。PostgreSQLのオプティマイザは、統計情報をもとに「どのルートが一...
PostgreSQL

【入門編】 カラム単位の統計情報設定 – PostgreSQL

データベースが「勘違い」してしまう時、どうすればいい?こんにちは!日々のデータベース運用、お疲れ様です。突然ですが、皆さんはこんな経験ありませんか?「普段はすごく速いクエリなのに、特定の条件で検索した時だけ、なぜか異様に遅くなる……」これ、...
PostgreSQL

【テクニカル・上級編】 default_statistics_targetの役割 – PostgreSQL

「なぜ、私のクエリプランはいつまで経っても的外れなのか」――default_statistics_targetが握る最適化の鍵PostgreSQLのクエリチューニングにどっぷりと浸かっていると、誰しも一度は壁にぶつかります。インデックスは貼...
PostgreSQL

【実務・中級編】 default_statistics_targetの役割 – PostgreSQL

「なんだか最近、特定のクエリだけ急に遅くなった気がする……」そんな悩みを抱えて、Explainの実行計画を覗いてみたことはあるかい? そこでよく目にするのが、「見積もり行数(rows)」と「実際の実行行数(actual rows)」の絶望的...
PostgreSQL

【入門編】 default_statistics_targetの役割 – PostgreSQL

こんにちは!データベースエンジニアの日常へようこそ。今日は、PostgreSQLのパフォーマンス改善において、実はめちゃくちゃ重要なのに意外と見落とされがちな「`default_statistics_target`」という設定についてお話し...
スポンサーリンク