sql優化具體指的是什麼?

1、升級硬件;

2、根據查詢條件,建立索引,優化索引、優化訪問方式,限制結果集的數據量;

3、擴大服務器的內存;

4、增加服務器CPU個數;

5、對於大的數據庫不要設置數據庫自動增長,它會降低服務器的性能;

6、在查詢Select語句中用Where字句限制返回的行數,避免表掃描,如果返回不必要的數據,浪費了服務器的I/O資源,加重了網絡的負擔降低性能。如果表很大,在表掃描的期間將表鎖住,禁止其他的聯接訪問表,後果嚴重;

7、查詢時不要返回不需要的行、列;

8、用select top 100 / 10 Percent 來限制用戶返回的行數或者SET ROWCOUNT來限制操作的行;

9、在IN後面值的列表中,將出現最頻繁的值放在最前面,出現得最少的放在最後面,減少判斷的次數;

10、一般在GROUP BY 個HAVING字句之前就能剔除多餘的行,所以儘量不要用它們來做剔除行的工作。他們的執行順序應該如下最優: select的Where字句選擇所有合適的行,Group By用來分組個統計行,Having字句用來剔除多餘的分組。這樣Group By 個Having的開銷小,查詢快.對於大的數據行進行分組和Having十分消耗資源。如果Group BY的目的不包括計算,只是分組,那麼用Distinct更快;

11、一次更新多條記錄比分多次更新每次一條快,就是說批處理好。

 

原文轉自:http://zhidao.baidu.com/question/329239172.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章