我有一个简单的表与3Mlogging和一个简单的唯一索引在一个整数字段。 当select
SELECT * FROM ThisTable ORDER BY ThatField LIMIT 10
如预期的那样,它工作得非常快。 当我插入或删除一条logging,或重新启动MySQL时,同样的查询需要10-20秒,有时更长。
我猜测它是将索引加载到内存中 – 这很好,但为什么客户端应该等待呢? 这可以解决,以便查询总是快速返回?
安德鲁,非常感谢你的帮助
一旦引擎重新启动,您将能够将此查询caching到caching中的最简单方法是在引擎重新启动后立即运行该select。
一个脚本文件重新启动MySQL进程,然后立即login到MySQL服务器并执行SELECT * FROM ThisTable ORDER BY ThatField LIMIT 10将确保查询被立即caching,这意味着下一个查询应该被很好地caching。