記錄一次mysql查詢問題

mysql的版本:8.0.11

表信息

大約600w的數據量的表:在這裏插入圖片描述
表結構:
在這裏插入圖片描述

原始sql執行

經過執行n次,緩存之後還是需要4-5s:
在這裏插入圖片描述
執行計劃如下:
在這裏插入圖片描述

下面是數據爲390w的表查詢時間和計劃:
在這裏插入圖片描述
在這裏插入圖片描述

同等語義改造後的sql

改造後的語句執行計劃如下:
在這裏插入圖片描述
執行時間如下:
在這裏插入圖片描述

總結

目前只能總結下這些現象,不能從更深層次的原理去解釋這些現象。希望有更多的時間學習mysql相關理論知識再來補充。
1.不同數據量的執行計劃也是不一樣的
2.not exists可以適當的場景下替代掉not in 、or 以及!等,可能更容易用到索引。

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