关于Left Join On的使用
生活随笔
收集整理的這篇文章主要介紹了
关于Left Join On的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在進行公司項目超猿的CRMPC端后臺會員列表頁面開發時,初始為了省事方便,直接使用全表查詢,由于該功能項設計了三個表的數據,全表查詢導致了查詢速度過于長久,被測試人員駁回優化
當我在數據庫進行查詢的時候,發現查詢時間也是達到了令人驚悚的5.5s
首先想到的就是通過explain來查看慢sql,針對性優化
由上可見,多個全表查詢導致效率變得遲緩,經過網上查找,請教同事,決定用Left Join的語句來對表進行拼接,而不是全表查詢。
Left Join俗稱左連接,也就是吧left join左邊的表的記錄全部找出來。系統會先用表A和表B做個笛卡兒積,然后以表A為基表,去掉笛卡兒積中表A部分為NULL的記錄。最后形成需要的結果。
通過向同事請教,最終寫出的優化sql如下:
查詢速度也是有了極大的提升:
由開始的5.5s到優化后的0.13s,速度提升了很多。說明left join優化還是有效果的。
下面則簡單介紹一下left join:
Left join on就是左連接,以左表為主,其余表為輔,通過兩者之間的關聯字段進行拼接形成一張臨時表,右表符合on的條件的數據則展示,不符合條件的數據則為空顯示。
Where條件則是在已經生成的臨時表的基礎上,再對臨時表全表加上條件限制。
以上就是這次踩坑的總結了,每次記錄一點點,讓自己再靠近知識一點點。
總結
以上是生活随笔為你收集整理的关于Left Join On的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot第二特性:Start
- 下一篇: https://www.cnblogs.