繁体   English   中英

Mysql从(1,2 ,, ...)中的primary_key非常慢的表中选择*

[英]Mysql select * from tables where primary_key in (1,2,,…) very slow

我遇到了我的一个查询,有时会很慢,很麻烦。

SELECT * FROM table WHERE primary_key IN (1,2,...)

非常慢,有时甚至100个条目的5秒。 显然,我们在主键上有索引。 有什么方法可以优化此查询。 该表略大,大约有1亿个条目。

您能发表一个解释吗,也许正在发生一些混乱。

另外,如果这是MyISAM数据库表,并且您具有较高的并发INSERT,则该表将在插入过程中被锁定,因此您的SELECT在此期间可能会阻塞。

对于一个100M记录表,由于它非常简单,因此在查询优化方面实际上并不能做很多事情。 您可能要研究的是MySQL配置调整。

如果您的表是InnoDB / XtraDB(并且如果我不建议使用那些引擎),则您可能需要研究innodb_buffer_pool_size变量-使用索引适合内存以实现查询的最佳性能是至关重要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM