固然現今硬件當作本已經下降,經由過程進級硬件晉升系統機能也是常用的優化體例 。 而及時性要求很高的系統,仍是要從sql方面進行優化,本文以sqlserver為例演示,此中的優化道理也合用于其他數據庫
優化的一個本家兒要方面就是盡量避免全表掃描,改為索引掃描
方式/
1恰當的索引
1)索引就半斤八兩于字典的目次,按照索引查找就可以直接定位具體頁數,不消整本字典一頁一頁的查找,效率天然是不問可知 。
2)對于汗青數據不太存眷的場景,好比訂單,凡是來說,3年之前的訂單數據,很少會需要查詢到,比來的訂單才是最常用的,那么可以考慮把訂單日期作為索引的一個列建立
3)經常需要where查詢的字段也作為索引的一個列建立

2盡量不要有空判定的語句,因為空判定將導致全表掃描,而不是索引掃描 。
對于空判定這種環境,可以考慮對這個列建立數據庫默認值

3盡量不要利用不等于前提,因為,這會導致全表掃描
對于不等于這種環境,考慮改為規模查詢解決

4盡量不要利用or前提,因為,這會導致全表掃描
對于or這種環境,可以改為 別離查詢,然后 union all

5盡量不要利用擺布恍惚查詢,因為,這會導致全表掃描
對于擺布恍惚查詢的環境,試著改為右側恍惚查詢,如許是可以索引查找的

6盡量不要在執行算數運算后的比力,因為,函數、算術運算或其他表達式運算凡是將導致全表掃描
對于這種環境,可以考慮冗余部門數據到表中

7盡量利用exists取代in

8【常見的sql優化技巧】盡量避免一次性返回年夜數據量,可以考慮分頁返回

注重事項部門圖片來歷于收集
以上內容就是常見的sql優化技巧的內容啦,希望對你有所幫助哦!
猜你喜歡
- Powershell如何計算命令的執行時間
- 園區一卡通解決方案
- 苦參花椒茶除腳氣
- 菊花茶熱敷可消除針眼
- 五款花草茶的飲用方式
- 如何通過優酷領取天貓雙11合伙人活動的能量
- 怎樣查詢微店物流信息
- oracle 數據庫的常用函數的使用
- 英雄殺妲己攻略
- iPhone手機微信的提示音怎么更換
