查詢計畫中的掃瞄和查詢效率比較說明

2022-09-16 08:30:13 字數 633 閱讀 6957

1.index seek(索引查詢) :索引查詢意味著查詢優化器使用了資料表上的非聚集索引來查詢資料。

效能通常會很快,尤其是當只有少數的資料行被返回時。

2.clustered index seek:聚集索引查詢。這指查詢優化器使用了資料表上的聚集索引來查詢資料,效能很快。

3.clustered index scan:聚集索引掃瞄。 聚集索引掃瞄與表掃瞄相似,不同的是聚集索引掃瞄是在乙個建有聚集索引的資料表上執行的。和一般的表掃瞄一樣,聚集索引掃瞄可能表明存在效能問題。

上面3項是效能比較好快的,下面幾項從效能上來說是不理想的,避免的越多效能越快:

1.table scan:表掃瞄。如果看到這個資訊,就說明資料表上沒有聚集索引,或者查詢優化器沒有使用索引來查詢。

2.index or table scans:索引或者表掃瞄。可能意味著需要更好的或者額外的索引。

3.bookmark lookups:書籤查詢。考慮修改當前的聚集索引,使用覆蓋索引,限制 select 語句中的字段數量。

4.filter:過濾。在where從句中移除用到的任何函式,不要在 sql 語句中包含檢視,可能需要額外的索引。

5.sort:排序。如果查詢的資料本身就是按一定順序排序的,或者查詢結果對排序無要求,那就不需要排序。

exists和in的查詢及效率比較

有兩個簡單例子,以說明 exists 和 in 的效率問題 sql 1 select from t1 where exists select 1 from t2 where t1.a t2.a t1資料量小而t2資料量非常大時,t1 2 select from t1 where t1.a in se...

查詢處理和執行 查詢計畫

檢視查詢計畫的方式有如下幾種 1 上下文相關的選單選項 6 使用dmf select from sys.dm exec query plan plan handle select from sys.dm exec text query plan plan handle 查詢計畫操作符查詢優化器可以使...

查詢計畫Hash和查詢Hash

在sql server 2008中引入的圍繞執行計畫和緩衝的新功能被稱為查詢計畫hash和查詢hash。這是使用針對查詢或查詢計畫的演算法來生成二進位制hash值的二進位制物件。可以從sys.dm exec query stats或sys.dm exec requests檢索查詢計畫hash和查詢h...