您好,登錄后才能下訂單哦!
這篇文章主要介紹數據庫的語句優化如何實現,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
SELECTidFROMAWHEREnamelike'%abc%'
由于abc前面用了“%”,因此該查詢必然走全表查詢,除非必要,否則不要在關鍵詞前加%,優化成如下
SELECTidFROMAWHEREnamelike'abc%'
where子句使用!=或<>操作符優化
在where子句中使用!=或<>操作符,索引將被放棄使用,會進行全表查詢。
如SQL:SELECTidFROMAWHEREID!=5優化成:SELECTidFROMAWHEREID>5ORID<5
在where子句中使用ISNULL或ISNOTNULL判斷,索引將被放棄使用,會進行全表查詢。
如SQL:SELECTidFROMAWHEREnumISNULL優化成num上設置默認值0,確保表中num沒有null值,然后SQL為:SELECTidFROMAWHEREnum=0
很多時候使用unionall或nuin(必要的時候)的方式替換“or”會得到更好的效果。where子句中使用了or,索引將被放棄使用。
如SQL:SELECTidFROMAWHEREnum=10ornum=20優化成:SELECTidFROMAWHEREnum=10unionallSELECTidFROMAWHEREnum=20
以上是“數據庫的語句優化如何實現”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。