mysql 排序方法优化速度

释放双眼,带上耳机,听听看~!

 

 

 

一直困惑问题排序在50数据查询下降,ID 索引排序是好,但这个做好了优化,那按其他字段排序大大下降

索引都加上了,还是慢,explain 查询结果吓人, 会有全表搜索,一直找解决的思路

 

 

 

找到的答案:

 

这几天做一个查询,需要在一个指定的结果集中进行查询,例如:

select * from table_name where doc_id IN ('1dba', 'c20a', '907b')

其中IN子句中的doc_id列表是通过调用一个外部接口获得一组doc_id常量列表,然后在本地库中搜索符合这个列表的数据

记录。后来发现mysql返回的结果集的排序是按照入库顺序给出的,但是我希望能按照doc_id列表的先后顺序进行排序,

经过google得知可以改为:

select * from table_name where doc_id IN ('1dba', 'c20a', '907b') order by FIND_IN_SET('1dba', 'c20a', '907b')

果然达到效果。

赞叹sql博大精深需要仔细研习。。。。。。

 

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索