【发布时间】:2011-05-26 18:58:49
【问题描述】:
是否有 MySQL 关键字 SQL_NO_CACHE(或 SQL Server dbcc drop clean buffers)的等效 postgresql,即您可以简单地将其包含在 SQL 语句中或作为脚本的一部分?
更新:这个问题
See and clear Postgres caches/buffers?
似乎说答案是“不”,尽管它现在已经两年了。 postgresql 9.0 有什么相关的变化吗?
【问题讨论】:
-
操作系统的磁盘缓存实际上可能比任何 postgres 缓存都与此有关。另请注意,您链接的问题的答案来自著名的 postgres 顾问/作者/博主/贡献者 Greg Smith,截至今年,他对答案发表了评论。如果有人知道这个问题的正确答案,那就是他,他说“没有办法绕过或刷新数据库的缓存。清除它的唯一办法就是重新启动服务器。”
-
@Frank 如果 postgres 使用直接 IO(如 InnoDB 那样),则使用它自己的缓存而不是操作系统缓存。大多数数据库似乎都使用 Direct IO。
-
Postgresql 不使用 Direct IO,只使用标准的读/写调用。
标签: mysql postgresql