昨年12月にOSS公開されたばかりの新ツールpg_hint_planを試してみます。このツールは、PostgreSQLでHINT機能を使えるようにするものです。 前置き これまでは、どのSQL実行計画を選ぶかはPostgreSQLのプランナ任せでした。プランナが期待どおりの実行計画を選んでくれずに、性能が出ずに困ったという場面があったと思います。例えば、インデックスを使って検索してほしいのに、なぜかシーケンシャルスキャンが選ばれたしまったというようなケースです。 pg_hint_planを使うと、PostgreSQLのプランナに対して、どのような実行計画を選ぶべきか指示(HINT)を与えることができます。つまり、どのような実行計画でSQLを実行するかユーザがほぼ思いどおりに制御できるということです。これにより、プランナが望ましくない実行計画を選んでしまう、上記の性能問題を解決することができ