当我在mysql中禁用查询缓存时,查询仍然被缓存。据我所知,这是因为OS文件系统缓存。如何防止文件系统缓存此数据。我在使用WIndows 7但它可能是Linux。
答案 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%,那么你也不会失去很多东西