Postgresでプリペアドステートメントを使用するとかなり遅くなる質問があります(これは既知の問題です。http://www.postgresql.org/docs/current/static/sql-prepare.htmlを参照)。したがって、これらのクエリの文準備を無効にしたいと考えています。DBIx :: ClassでPostgresを使用してプリペアドステートメントを無効にする
DBIx :: Classでは、connect_infoにパラメータ "pg_server_prepare => 0"を渡して、データベースに接続するときに準備された文をグローバルにオフにできます。既存の接続でこれを変更する方法はわかりません。 DBIx ::クラス::スキーマ与え、私はこの試みた:
$schema->storage->connect_info->[0]->{'pg_server_prepare'} = 0;
を私はその呼び出しの後connect_infoをログに記録した場合、私はこのパラメータの新しい値を参照してくださいが、データベースドライバがまだ準備されたステートメントを使用しています。私も切断して再接続しようとしました
$schema->storage->connect_info->[0]->{'pg_server_prepare'} = 0;
$schema->storage->disconnect;
$schema->connect(@{ $schema->storage->connect_info->[0] });
しかし、これも役に立たなかったです。
任意のアイデア?私は、私は確かに言うことができない、DBD :: Pgのを使用していないんだけど、これが動作する-might-