SQL查詢最優化

2021-09-30 07:17:55 字數 931 閱讀 7497

影響資料庫效能的因素主要包括以下幾個:

1. 資料庫的邏輯設計

2. 資料庫的實際部署

3. 伺服器的硬體規格

4. 索引與sql語句的使用

在資料庫邏輯設計方面

盡量做到第三正規化(3nf)

在資料庫實際部署方面

對於一些資料量比較大的資料表,可以考慮垂直或水平分割,並分別部署在不同的磁碟中,以提高查詢的效能;另外將資料表與索引分開存放,也可以提高查詢的效能。

在伺服器硬體規格方面

如果在有預算許可的情況下,硬體公升級也是不錯的方案。硬體公升級可分為垂直延伸(scale up)和水平延伸(scale out)兩種,其中垂直延伸是指更換更高階別的cpu或更高轉速的硬碟,增加cpu或ram的數量等。水平延伸則是指使用多個伺服器來建立伺服器集群,增加處理容量,提高效率。

在索引與sql語句使用方面

良好的索引規則是資料庫效率的基礎。簡單地說,索引就像一本書的目錄,透過目錄可以快速地找到所需的內容,建立索引也是相同的導率。索引分為聚集索引(cluster index)與非聚集索引(non-cluster index)兩種。乙個資料表(table)只能有乙個cluster index,但可以有多個non-cluster index。cluster index與non-cluster index的主要區別在於cluster index的順序與資料實際儲存的順序有關,而non-cluster index則與資料實際儲存沒有直接的關係。

sql語句是管理與訪問資料庫的唯一途徑,執行往往會耗用70%以上的系統資源,由此可見sql語句對資料庫效能的重要性。sql語句的特色是易學易懂,但難於精通。相同的結果,可以有不同的寫法,因此如何撰寫具有良好效能的sql語句是資料庫開發人員和dba的一大挑戰。

查詢優化 SQL優化

查詢優化注意點 代表查詢速度比較 1 所有查詢必須注意 的使用必要性 cout 1 cout 2 字段 主鍵索引 字段 普通索引 字段 沒有索引 3 乙個字段 多個字段 欄位多越慢 4 大於10000和大於10001的區別 後者大於前者 5 列沒別名 列 有別名6 兩個條件,where時應該將符合資...

最優化的ms sql server分頁sql語句

特點 一次查詢,資料庫只返回一頁的資料。而不是取出所有的資料。說明 pagesize 每頁顯示記錄數 cureentpage 當前頁數 select from select top pagesize from select top pagesize cureentpage from user tab...

最優化的ms sql server分頁sql語句

特點 一次查詢,資料庫只返回一頁的資料。而不是取出所有的資料。說明 pagesize 每頁顯示記錄數 cureentpage 當前頁數 select from select top pagesize from select top pagesize cureentpage from user tab...