sql鏈表查詢基礎優化~索引的作用

乾貨~~~~~~~~~~~~~~~~~~~~

 

很多朋友在鏈表查詢的時候都只是記得了給where參數加索引

往往忽略了鏈表on關鍵字的參數,

比如這條SQL

select
b.*,i.from_uid as fromUid
from base_info b
left join invite i on b.id=i.to_uid
where b.name= xxx
order by b.id desc
limit 0, 10

表數據在一萬左右的情況,這條SQL的相應時間是5秒

那麼問題來了,爲什麼會有5秒,才一萬的數據,太誇張了。

第一眼大家覺得是哪兒得問題

where? 還是order by? 

本人測試去掉order by 時間就快了,但是還是需要100多ms,還是不對

後來突然想到會不會是沒有加索引,一看invite表,  果然,invite表沒有加to_uid參數的索引,加了個普通索引,

再跑一次SQL, 時間5ms

搞定!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章