我的一个查询很麻烦,而且我的查询很慢。
SELECT * FROM table WHERE primary_key IN (1,2,...)
对于大约100个条目,有时甚至是5秒非常慢。显然我们在主键上有索引。有没有办法优化此查询。该表略大于约1亿条目。
答案 0 :(得分:0)
你可以发布一个EXPLAIN,也许还有一些可疑的东西。
此外,如果这是一个MyISAM数据库表并且您有高并发INSERT,则表将在插入期间锁定,因此您的SELECT可能会在此期间阻止。
答案 1 :(得分:0)
对于100M记录表,您在查询优化方面确实做不了多少,因为它很简单。你可以看到的是MySQL配置调优。
如果您的表是InnoDB / XtraDB(如果我不推荐使用这些引擎),您可能需要查看innodb_buffer_pool_size
变量 - 使用索引适合内存以获得最佳性能至关重要为了您的疑问。