我一直在努力解决只有当数据库空闲了一段时间才能查询数据的问题。第一个查询将非常缓慢,大约30秒,然后相关的查询将快速如0.1秒。我认为这与缓存有关,但我一直无法找到它的原因。mysql第一次查询速度慢,然后快速查询相关查询
将mysql变量tmp_table_size,max_heap_table_size更改为更大的大小除了在内存中创建临时表之外没有任何效果。
我不认为这与查询本身有关,因为索引很好,并且在第一个慢查询之后,同一查询的变体不会显示在慢查询日志中。我最有兴趣试图确定此问题的原因或重置有问题的缓存的方法,以便我可以解决问题。
我不是MySQL的专家,但你也许应该补充的MySQL版本中, OS信息和引擎信息(MyISAM,InnoDB?) – 2009-11-23 23:51:56
好的建议,5.0.26-standard-log和InnoDB。
Linux 2.4.21-47.ELsmp#1 SMP Wed Jul 5 20:30:30 EDT 2006 x86_64 x86_64 x86_64 GNU/Linu – 2009-11-24 00:07:39
这属于http://www.serverfault.com – 2009-11-24 21:47:34