Максимально допустимые PHP-Postgres подготовленные заявления? - PullRequest
0 голосов
/ 03 января 2012

Существует ли ограничение на количество подготовленных операторов, которые можно подготовить с помощью функции PHP pg_prepare ()?

1 Ответ

2 голосов
/ 03 января 2012

Не существует числового максимального количества PREPARE ed операторов, однако существует логическое ограничение на объем ОЗУ, который может выделить серверная часть.До тех пор, пока PREPARE завершается успешно, серверная часть PostgreSQL будет сохранять подготовленный оператор до тех пор, пока соединение не будет разорвано, и в этот момент он очистит PREPARE операторы ed (или вы могли бы DEALLOCATE оператор PREPARE ed, когда выхочу освободить память).

Все операторы PREPARED хранятся в хеш-таблице для каждого бэкэнда.Выделение памяти для оператора PREPARE ed выполняется самим оператором и переназначается в подготовленный кэш операторов.См. src/backend/commands/prepare.c и src/backend/utils/cache/plancache.c: SaveCachedPlan (), если вам интересно узнать подробности.


Эта информация актуальна на 2012-01-03 для PostgreSQL 9.1+ и может отличаться вбудущее, когда PostgreSQL поддерживает надежный кеш PREPARE операторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...