0
我們試圖找到性能問題並想知道是否正在使用索引。使用帶有多列的DB2索引
我們有一個帶有組合鍵「ID」和「Version」的表格,這兩個整數都是。
我們有一個選擇,試圖找到「ID」的最大值。 (這是通過實體框架完成的,如果它有所不同)。
這會使用索引還是會執行表掃描?
我們試圖找到性能問題並想知道是否正在使用索引。使用帶有多列的DB2索引
我們有一個帶有組合鍵「ID」和「Version」的表格,這兩個整數都是。
我們有一個選擇,試圖找到「ID」的最大值。 (這是通過實體框架完成的,如果它有所不同)。
這會使用索引還是會執行表掃描?
如果ID
列被定義爲多列索引的第一部分,那麼DB2將使用該索引來確定MAX()
。如果你做了MAX(VERSION)
,它仍然可能嘗試使用索引,但是如果你有一個非常大的表,這可能需要相當多的處理。
您可以使用explain facilities(鏈接適用於Linux/Unix/Windows 9.7)進行確認。
除非我們能夠看到生成的SQL和表結構以及索引定義,否則可能很難說清楚。 – Charles 2012-01-27 14:31:38