首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql select * from tables where primary_key in (1,2,...)非常慢

Mysql select * from tables where primary_key in (1,2,...)非常慢
EN

Stack Overflow用户
提问于 2012-07-25 19:15:30
回答 2查看 548关注 0票数 1

我的一个查询遇到了问题,它有时非常慢。

代码语言:javascript
运行
复制
SELECT * FROM table WHERE primary_key IN (1,2,...)

非常慢,有时甚至是5秒,大约100个条目。显然,我们在主键上有索引。有没有办法优化这个查询。这个表格略大,大约有1亿个条目。

EN

回答 2

Stack Overflow用户

发布于 2012-07-25 19:59:53

你能不能解释一下,也许有什么不对劲的地方。

此外,如果这是一个MyISAM数据库表,并且您有高并发插入,则该表将在插入期间被锁定,因此您的选择在此期间可能会阻塞。

票数 0
EN

Stack Overflow用户

发布于 2012-07-25 20:32:08

对于一个100M的记录表,您不能真正在查询优化方面做太多事情,因为它足够简单。您可以研究的是MySQL配置调优。

如果您的表是InnoDB/XtraDB (如果不是,我建议使用这些引擎),您可能希望查看innodb_buffer_pool_size变量-使用的索引必须适合内存才能获得查询的最佳性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11648478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档