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博大精深需要仔细研习。。。。。。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoguo1980/archive/2009/12/31/5112375.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoguo1980/archive/2009/12/31/5112375.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值