組合索引使用情況

2021-08-22 02:37:23 字數 785 閱讀 6048

組合索引查詢的各種場景

茲有 index (a,b,c) ——組合索引多字段是有序的,並且是個完整的btree 索引。

下面條件可以用上該組合索引查詢:

a>5

a=5 and b>6

a=5 and b=6 and c=7

a=5 and b in (2,3) and c>5

下面條件將不能用上組合索引查詢:

b>5 ——查詢條件不包含組合索引首列字段

b=6 and c=7 ——查詢條件不包含組合索引首列字段

下面條件將能用上部分組合索引查詢:

a>5 and b=2 ——當範圍查詢使用第一列,查詢條件僅僅能使用第一列

a=5 and b>6 and c=2 ——範圍查詢使用第二列,查詢條件僅僅能使用前二列

茲有組合索引 index(a,b)。

下面條件可以用上組合索引排序:

order by a——首列排序

a=5 order by b——第一列過濾後第二列排序

order by a desc, b desc——注意,此時兩列以相同順序排序

a>5 order by a——資料檢索和排序都在第一列

下面條件不能用上組合索引排序:

order by b ——排序在索引的第二列

a>5 order by b ——範圍查詢在第一列,排序在第二列

a in(1,2) order by b ——理由同上

order by a asc, b desc ——注意,此時兩列以不同順序排序

檢視索引使用情況

檢視乙個索引是否正確建立,可以參考下這兩個引數 handler read key 和 handler read rnd next。如果索引正在工作,handler read key 的值將很高,這個值代表了乙個行被索引值讀取的次數,很低的值則表明增加索引得到的效能不高,因為索引並不經常使用。hand...

如何獲得SQL Server索引使用情況

原文出自 資料庫有兩大儲存需要 資料頁和索引頁。在你的表中理解和檢視實際的資料,是相當簡單的。通過執行一些查詢示例來了解哪些列被使用,以及什麼型別的資料實際上是被儲存。一方面,很難知道索引實際上是如何被使用和怎麼使用的。所以你應該如何更好地理解索引的使用及正在發生什麼操作 inserts,updat...

如何獲得SQL Server索引使用情況

原文出自 資料庫有兩大儲存需要 資料頁和索引頁。在你的表中理解和檢視實際的資料,是相當簡單的。通過執行一些查詢示例來了解哪些列被使用,以及什麼型別的資料實際上是被儲存。一方面,很難知道索引實際上是如何被使用和怎麼使用的。所以你應該如何更好地理解索引的使用及正在發生什麼操作 inserts,updat...