Select多行SQL语句慢查询优化-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Select多行SQL语句慢查询优化

2016-06-29 12:58:05 2841 1

环境:MySQL5.5 InnoDB表 post ,主键为 id

需求非常简单,根据id返回 post.name ,需要一次返回指定的多个,所以使用了where id in:

select name from post where id in(2142324,2106574,2106564,2075699,2065402,2050790,2038346,2038345,2035588,2031765,2022035,2022034,2020745,2020737,2020718,1987558,1970241,1962232,1911342,1891481,1889641,1877438,1877434,1867217,1866057,1866013,1847315);
Explain结果:

idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra
1SIMPLEpostrangePRIMARYPRIMARY4NULL27Using where

现在这句SQL一小时产生几千条慢查询记录,我直接在console执行每次也需要7,8秒

能怎么优化呢?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:48:59

    从纯sql的角度看是没问题的,走了索引,rows值也不大,如果速度很慢,可以从3个方面看 1:innodb参数是否已经优化,比如innodbbufferpoor_size等 2:qcache命中率。根据你上诉问题,一小时该语句产生几千条慢查询,命中率明显不高,是否该表写入频率过高导致qcache失效,是否考虑读写分离 3:数据量大的话考虑分区,或者水平分表

    0 0
相关问答

1

回答

SQL面试题-这道题的SQL 语句怎么写?

2021-10-03 19:05:17 493浏览量 回答数 1

1

回答

不知道sql语句怎么写,想要把日志中“id”:“22”写入数据库中

2020-12-14 19:58:43 708浏览量 回答数 1

1

回答

a,b,c都不在d到e之间的SQL语句怎么写?写成(a,b,c)not betw?报错

2020-06-20 19:33:09 229浏览量 回答数 1

1

回答

。。。这个sql语句怎么写,大牛进来。。。。?报错

2020-06-14 20:47:53 200浏览量 回答数 1

1

回答

请教这样的sql语句怎么写?:报错

2020-06-09 23:03:31 231浏览量 回答数 1

1

回答

请教一条SQL语句怎么写:报错

2020-06-09 12:05:58 295浏览量 回答数 1

1

回答

sql语句怎么写。关于业务逻辑上的上级。:报错

2020-06-09 22:14:38 368浏览量 回答数 1

1

回答

请教,这个SQL语句应该怎么写?:报错

2020-06-09 11:38:11 252浏览量 回答数 1

1

回答

这两个sql语句怎么写?求助。

2016-06-16 18:01:08 1824浏览量 回答数 1

1

回答

两个表连起来的sql语句怎么写

2016-06-08 17:13:16 1534浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载