防止MySQL查询的文件系统缓存

时间:2010-02-08 12:15:01

标签: mysql caching

当我在mysql中禁用查询缓存时,查询仍然被缓存。据我所知,这是因为OS文件系统缓存。如何防止文件系统缓存此数据。我在使用WIndows 7但它可能是Linux。

4 个答案:

答案 0 :(得分:0)

MySQL中没有查询文件系统缓存。

  

当我在mysql中禁用查询缓存时,查询仍然缓存

如何禁用它以及如何知道查询仍然被缓存?为什么你不希望它们被缓存?

答案 1 :(得分:0)

SET SESSION query_cache_type = OFF;

答案 2 :(得分:0)

现在我可以自己回答我的问题了。要防止缓存第二次和下次查询需要设置innodb_buffer_pool_size = 0配置选项。 mysql使用此缓冲区将数据交换到内存中,所有下一个查询都使用内存而不是HD。

答案 3 :(得分:0)

你需要比你的数据(Innodb TableSpaces的总大小)大一点(比如10%)缓冲池,因为它不仅包含数据页 - 它还包含自适应哈希索引,插入缓冲区,锁也需要一些时间。虽然它不是那么重要 - 对于大多数工作负载而言,如果你的Innodb缓冲池比你的数据库大小减少了10%,那么你也不会失去很多东西