エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
拡張統計情報とテーブル結合 - 夜は寝る
PostgreSQL Advent Calendar 2018、23日目の記事です。 今更感満載ですが、PostgreSQL 10で導入された拡... PostgreSQL Advent Calendar 2018、23日目の記事です。 今更感満載ですが、PostgreSQL 10で導入された拡張統計情報について、直感と異なる挙動だったので調査してみました。小ネタですみません。 TL;DR PostgresSQLのオプティマイザは、カラム間の関数従属性を考慮しない 拡張統計情報を使えば、テーブル探索で関数従属性を考慮できる テーブル結合では考慮されない 行数推定の課題 PostgreSQLのオプティマイザはコストベースであり、アクセスパスツリーを生成して最もコストの低いパスを選択します。 このコスト計算において、条件句が複雑な場合に、実体と沿わないコストを算出してしまう場合があります。具体的には、条件句に AND で複数の条件が指定され、かつ両条件に指定されたカラム間に関数従属性がある場合、実際の行数よりも推定行数が少なく見積もられます。