※実行時間の単位は全てmsです パーティション数が1,000になると汎用プランの再検証で1000パーティションへのスキャンが発生するため、bindが遅くなっていることが分かります。気になっていたunnamedなPrepared Statementについては名前付きのPrepared Statementに比べて早いような気もするし、誤差のような気もするし...ここはもう少し計測回数を増やして詳しく見ていきたいところです。 WHERE句をリテラルで記述した非Prepared Statementの場合は1000パーティションかつforce_generic_planの場合でも6.2msで処理できており、汎用プラン再検証のオーバーヘッドが発生していないことが伺えます。 1000パーティションのテーブルに対して1000回クエリを発行してbindのオーバーヘッドを確認してみる 先程の検証結果から 100
![PostgreSQLで多数のパーティションを持つテーブルに対してPrepared Statementを実行した際の性能劣化について調べてみた | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1a383f983979413143b6d523e54cb3d37ec8749/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2020%2F02%2Fpostgresql-1200x630.png)