記一次sql優化之旅(看我是如何使用鬼斧神工從60s優化至毫秒)

1、數據分析

在這裏插入圖片描述
可以看到track表和simple表的數據已經有幾十萬了。當我們沒有使用索引的情況下進行連表以及條件查詢時:
在這裏插入圖片描述
查詢時間已經超過了1分鐘了。我們通過explain看一下sql執行計劃:
在這裏插入圖片描述
可以看到b、c表都進行了全表掃描,查詢速度十分緩慢。
此時我們可以先對a表的時間建立索引,縮小查詢範圍。
在這裏插入圖片描述
由於表作爲被連接的表,我們需要對b表的clue_id添加索引,此時可以看到b表已走索引。
在這裏插入圖片描述
同理再給c表的id字段添加索引。
在這裏插入圖片描述
再看sql執行計劃:
在這裏插入圖片描述
可以看到速度已經有了質的提升。
在這裏插入圖片描述
總結:通過前面的分析,當我們發下某條sql執行時間很耗時的情況,我們除了對錶的優化之外就是增加合適的索引。我們可以看到再做表連接的時候,我們需要對被連接的表的字段添加索引,然後就是對查詢條件添加索引。

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