您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關SQL Server 使用join all實現優化 or 查詢速度,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
表結構如下:
user表 大約10萬條記錄 |-uid-|-user-|----site------| | 1 | test | ,master, | | 2 | user | ,master,test,| product表 大約30萬條記錄 |-pid-|-product-|-puser-| | 1 | order01 | test | | 2 | order02 | user | | 3 | order03 | user |
優化前的SQL語句如下:
select * from product as p left join user as u on p.puser=u.user where user='test' or site like '%,test,%'
不使用 or 單獨查詢時,都不超過100毫秒,排除索引的問題。既然單個沒問題,兩種結果不存在重復記錄,可以考慮 join all 優化。
優化后的語句如下:
select * from product where pid in ( select pid from product where user='test' join all ( select pid from product as p left join user as u on p.puser=u.user where site like '%,test,%' ) )
用戶A名下共有4000+個業務,優化前 優化前11359毫秒,優化后621毫秒
用戶B名下共有12個業務,優化前 優化前10359毫秒,優化后78毫秒
以上就是SQL Server 使用join all實現優化 or 查詢速度,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。