乾貨~~~~~~~~~~~~~~~~~~~~
很多朋友在鏈表查詢的時候都只是記得了給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
搞定!