使用PHP的pg_prepare()函数准备好的语句数量是否有限制?
答案 0 :(得分:2)
没有数字最大数量的PREPARE
ed语句,但后端可以分配的RAM量存在逻辑限制。只要PREPARE
成功,PostgreSQL后端就会保存准备好的语句,直到连接断开,此时它将清除PREPARE
ed语句(或者你可以DEALLOCATE
{当你想释放内存时,{1}} ed语句。
所有PREPARE
语句都存储在每个后端哈希表中。 PREPARED
ed语句的内存分配由语句本身处理,并重新分配给预准备语句高速缓存。如果您对细节感到好奇,请参阅PREPARE
和src/backend/commands/prepare.c
:SaveCachedPlan()。
此信息是2012-01-03 PostgreSQL 9.1+的最新信息,并且在PostgreSQL支持src/backend/utils/cache/plancache.c
ed语句的持久缓存时可能会有所不同。