1. 程式人生 > >mysql 排序方法優化速度

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