はじめに にゃーん この記事は、PostgreSQL 10全部ぬこ Advent Calendar 2017 の25日目、最終日のエントリです。これで完走できた! 最後のネタは検証が面倒くさそうで後回しにしていたmulti-column optimizer statisticsに挑んでみようかと。 この機能はなぜ必要だったのか PostgreSQLのプランナが実行計画を立てるときに、列単位にANALYZE処理背景で更新された統計情報を使うのだが、列同士の対応関係(多変量相関)は管理していないため、クエリによっては適切な実行計画を立てることができないケースがあった(たぶん)。 PostgreSQL 10での改善 PostgreSQL 10では列間の相関と、固有値の数の情報(拡張統計情報)を管理するための機能が追加された。また、その情報を使って、より適切な実行計画を生成できるようになった(はず