对于MySQL关键字SQL_NO_CACHE
(或SQL Server dbcc drop clean buffers
)是否存在postgresql等效项,即您可以将其简单地包含在SQL语句中或作为脚本的一部分?
更新:这个问题
See and clear Postgres caches/buffers?
似乎说答案是“不”,虽然现在已经两岁了。 postgresql 9.0中是否有任何相关更改?
答案 0 :(得分:8)
你所陈述的两件事并不完全等同。
MySQL的SQL_NO_CACHE不会阻止引擎使用缓存数据。这意味着查询未缓存在MySQL 查询缓存中。
查询缓存与引擎可能具有的任何光盘缓存不同,因为它缓存查询结果,而不是来自光盘的块(或来自表的行等)。所以它缓存了文本语句的结果。
使用SQL_NO_CACHE的原因是你知道你将要做一个不经常使用的查询,这会返回大量数据(因此会占用缓存中的大量空间)。
但现在建议大多数MySQL安装关闭查询缓存以为页面缓存等创建更多内存(请参阅http://dom.as/tech/query-cache-tuner/)
答案 1 :(得分:2)
不需要,PostgreSQL中的缓存工作方式非常不同,并且100%可靠。