關於 數據庫 or 的用法,就不說了 講講OR對數據庫性能有多大的殺傷力,之後線上的項目若是是數據量很大的表,必定不要用OR來查詢數據庫
今天在工做的時候,同事遇到了SQL優化的問題,讓我幫忙看看,以後一個長達16秒的查詢,優化到不到一秒! 性能
SQL: 優化
用時:五秒 spa
我檢查一下 JK_Customer 這張表的數據, 有三百多萬條數據 還好3d
主鍵是確定有索引的 想查詢快的話,加索引唄blog
加索引後: 狀況沒有變化 索引
這狀況就很明顯了,OR這個玩意兒 破壞了個人索引:我來試試分開查詢im
瞬間完成,OK 。。d3
事實證實了,OR破壞了的個人索引 致使查詢變慢了 總結
那麼咱們就不要怕麻煩 用UNION ALL來代替咱們的OR
總結: or會破壞索引
若是A表很大的狀況下,應改爲: