今天碰到了兩個表做關聯查詢的mysql,這兩個表的數據量都是特別大的,有一個表的數據是上億條的數據,有一個是幾百萬的數據,
查詢的速度是特別慢,然后我看了一下執行計划,下面是執行執行計划:
看到上面這個圖這個數據量是特別大的,這個查詢起來的肯定是非常慢的,而且他的類型都是ALL類型,也就是都是全表進行掃描的。然后在網上找資料,然后發現我們可以給關聯的字段建索引。
於是我給關聯字段建立了索引,然后就發生了下面的變化:
整個的行數就成不知道多少個數量級的情況在下降,整個的查詢速度也是加快了額很多,現在查出數據只要幾十毫秒的速度,真的不敢想象。
具體給數據字段建立所以,以及為啥會發生這樣的變化,詳細參考下面的的連接:
https://www.cnblogs.com/zedosu/p/6555981.html
從上面的例子可以看出,我們所寫的sql當有語句進行優化的時候,查詢速度是非常快的。除了給字段建立索引的方式之外,我們還可以通過其他的方式對我們的sql進行優化,來減少查詢的時間。