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

スポンサーリンク
PostgreSQL

【実務・中級編】 統計情報の精度(default_statistics_target) – PostgreSQL

「クエリがなぜか遅い……」「EXPLAIN ANALYZEを見ると、見積もり行数(rows)と実際の行数が桁違いにズレている……」PostgreSQLを触っていると、一度は必ずぶち当たる壁ですよね。インデックスも貼ったし、クエリもシンプル。...
PostgreSQL

【入門編】 統計情報の精度(default_statistics_target) – PostgreSQL

「あれ、検索が遅い?」と思ったら。PostgreSQLの「勘」を育てる『statistics_target』の話こんにちは!データベースの世界に足を踏み入れたばかりのみなさん、日々のお仕事や学習、お疲れ様です。PostgreSQLを触ってい...
PostgreSQL

【テクニカル・上級編】 CTEマテリアライゼーション制御 – PostgreSQL

CTEの「最適化」という罠:PostgreSQL 12以降の挙動を正しく制御するPostgreSQLを使っているエンジニアなら、一度は`WITH`句(CTE)の恩恵に預かったことがあるはずだ。複雑なクエリを論理的なブロックに切り分け、コード...
PostgreSQL

【実務・中級編】 CTEマテリアライゼーション制御 – PostgreSQL

「またCTEでハマってるの?」新人のコードレビューをしていると、本当によく見る光景なんだよね。PostgreSQLの`WITH`句。可読性が高いからみんな大好きなんだけど、実は「見かけの良さ」の裏で、DBが裏切ってくることがよくある。今回は...
PostgreSQL

【入門編】 CTEマテリアライゼーション制御 – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、PostgreSQLを使っていると「`WITH`句(CTE)」って便利ですよね。長いクエリをパズルみたいに組み立てられるから、コードがすごく読みやすくなる。僕も大好きです。でも、ちょっと待って...
PostgreSQL

【テクニカル・上級編】 サブクエリの平坦化 (Subquery Flattening) – PostgreSQL

サブクエリの「平坦化」を攻略する:PostgreSQLクエリプランナの隠れた知能PostgreSQLを長く触っていると、ふとした瞬間にプランナの「機嫌」に振り回されることがありますよね。同じようなロジックなのに、書き方一つで実行計画が激変す...
PostgreSQL

【実務・中級編】 サブクエリの平坦化 (Subquery Flattening) – PostgreSQL

「またサブクエリでハマってるの?」コードレビューをしていて、後輩の書いたSQLに深いネストのサブクエリを見つけるたび、僕はついこう声をかけたくなります。もちろん、PostgreSQLのクエリオプティマイザは優秀です。でも、彼らが魔法を使える...
PostgreSQL

【入門編】 サブクエリの平坦化 (Subquery Flattening) – PostgreSQL

「二度手間」を避ける賢い仕事術。PostgreSQLの「サブクエリ平坦化」ってなに?こんにちは!データベースの世界に足を踏み入れたばかりのみなさん、日々SQLと格闘していますか?今日は、PostgreSQLが裏側でやってくれている「実はめち...
PostgreSQL

【テクニカル・上級編】 式評価の最適化 – PostgreSQL

その「関数」、本当に毎行計算させる必要がありますか?:PostgreSQLクエリ最適化の深淵PostgreSQLを長く触っていると、ふとした瞬間に「なぜこのクエリはこれほど重いのか」という壁にぶつかることがあります。特に、集計関数や複雑な式...
PostgreSQL

【実務・中級編】 式評価の最適化 – PostgreSQL

そのクエリ、まだ「関数」に頼ってるの? PostgreSQLの式評価を最適化して爆速にする話どうも。最近、コードレビューをしていて「あー、ここをちょっと書き換えるだけで、このクエリ、もっと速くなるのにな」ともどかしく思うことが増えてきました...
スポンサーリンク