我正在使用ActiveRecord 3.0(没有rails)构建命令行应用程序.如何清除ActiveRecord维护的查询缓存?
我正在尝试优化我的功能.
问题在于,一旦得到一个结果就运行查询.
第二次运行查询或第三次处理时间要小得多.
SELECT map.get_near_link(a.X, a.Y, a.azimuth)
FROM traffic.avl;
Run Code Online (Sandbox Code Playgroud)
第一次17段
Total query runtime: 17188 ms.
801 rows retrieved.
Run Code Online (Sandbox Code Playgroud)
第二次11段
Total query runtime: 11406 ms.
801 rows retrieved.
Run Code Online (Sandbox Code Playgroud)
我猜测有一些缓存在场景后进行优化.如何禁用此行为,以便我可以获得更真实的运行时值?
是否存在MySQL关键字SQL_NO_CACHE(或SQL Server dbcc drop clean buffers)的postgresql等效项,即您可以将其简单地包含在SQL语句中或作为脚本的一部分?
更新:这个问题
似乎说答案是"不",虽然现在已经两岁了.postgresql 9.0中是否有相关更改?
Linux的命令
echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
我在URL中读到了这个命令:
https://unix.stackexchange.com/questions/58553/how-to-clear-memory-cache-in-linux
什么命令在Mac上类似?
postgresql ×2
activerecord ×1
caching ×1
command ×1
linux ×1
macos ×1
mysql ×1
ruby ×1
terminal ×1
unix ×1