0
在Postgres中使用預準備語句時,我有幾個查詢要慢得多(這是一個已知問題,請參閱http://www.postgresql.org/docs/current/static/sql-prepare.html)。因此,我想關閉這些查詢的語句準備。使用Postgres在DBIx :: Class中禁用基於每個查詢的預準備語句
在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] });
但這也沒有幫助。
有什麼想法?