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

スポンサーリンク
PostgreSQL

【実務・中級編】 パーティションプルーニング – PostgreSQL

「全部スキャン」は卒業しよう。PostgreSQLのパーティションプルーニングを使いこなす話やあ。最近、現場で「なんかクエリが遅いな」と思って実行計画(`EXPLAIN`)を覗いたら、何億行もある巨大テーブルを律儀にフルスキャンしていて頭を...
PostgreSQL

【入門編】 パーティションプルーニング – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、大量のデータを扱うシステムを作っていると、どうしても避けて通れないのが「検索の遅さ」という悩みですよね。「データが増えてきたら、検索に時間がかかるようになってしまった……」そんなとき、Post...
PostgreSQL

【テクニカル・上級編】 並列クエリチューニングパラメータ – PostgreSQL

PostgreSQLの並列クエリ、その「甘い罠」と最適化の深淵PostgreSQLの並列クエリ(Parallel Query)は、導入当初こそ「魔法の杖」のように見えました。しかし、本番環境のクリティカルなパスで利用するようになると、多くの...
PostgreSQL

【実務・中級編】 並列クエリチューニングパラメータ – PostgreSQL

「ねえ、PostgreSQLのクエリがやたら遅いからって、とりあえず`max_parallel_workers_per_gather`を適当に増やしてない?」もし図星なら、ちょっと手を止めてこの記事を読んでほしい。PostgreSQLの並列...
PostgreSQL

【入門編】 並列クエリチューニングパラメータ – PostgreSQL

こんにちは!データベースの世界へようこそ。今日は、PostgreSQLのちょっと「通」な話題、「並列クエリ(Parallel Query)」についてお話ししようと思います。「並列クエリ」なんて聞くと、なんだか難しそうな響きですよね。「CPU...
PostgreSQL

【テクニカル・上級編】 並列クエリのアーキテクチャ – PostgreSQL

PostgreSQLの「並列クエリ」を解剖する:Gatherとワーカーの裏側PostgreSQLでクエリが思ったように速くならない時、あるいは実行計画(`EXPLAIN`)に潜む `Gather` ノードを眺めながら「なぜここで並列数が足り...
PostgreSQL

【実務・中級編】 並列クエリのアーキテクチャ – PostgreSQL

PostgreSQLの並列クエリ、その「舞台裏」を覗いてみようやあ。最近、PostgreSQLのパフォーマンスチューニングで悩んでいないかな?大規模なデータセットを扱うとき、クエリが1つのCPUコアだけで必死に頑張っているのを見て、「もっと...
PostgreSQL

【入門編】 並列クエリのアーキテクチャ – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、何気なく「SELECT FROM ...」なんてクエリを叩いていますが、その裏側でPostgreSQLがどんな風に頑張っているのか、考えたことはありますか?今日は、PostgreSQLの「並列...
PostgreSQL

【テクニカル・上級編】 コスト見積もりパラメータ – PostgreSQL

「デフォルト値」という名の妥協点:PostgreSQLコストモデルを支配せざるを得ない理由PostgreSQLのクエリプランナを語る上で避けて通れないのが、いわゆる「コスト定数」の調整だ。`seq_page_cost`、`random_pa...
PostgreSQL

【実務・中級編】 コスト見積もりパラメータ – PostgreSQL

なぜPostgreSQLのプランナは「間違った道」を選ぶのか?コスト定数チューニングの勘所現場でPostgreSQLをいじっていると、たまに遭遇するんですよね。「いや、そこはインデックス使ってくれよ!なぜフルスキャンなんだ!」と叫びたくなる...
スポンサーリンク