2012-01-27 47 views
0

我們試圖找到性能問題並想知道是否正在使用索引。使用帶有多列的DB2索引

我們有一個帶有組合鍵「ID」和「Version」的表格,這兩個整數都是。

我們有一個選擇,試圖找到「ID」的最大值。 (這是通過實體框架完成的,如果它有所不同)。

這會使用索引還是會執行表掃描?

+0

除非我們能夠看到生成的SQL和表結構以及索引定義,否則可能很難說清楚。 – Charles 2012-01-27 14:31:38

回答

1

如果ID列被定義爲多列索引的第一部分,那麼DB2將使用該索引來確定MAX()。如果你做了MAX(VERSION),它仍然可能嘗試使用索引,但是如果你有一個非常大的表,這可能需要相當多的處理。

您可以使用explain facilities(鏈接適用於Linux/Unix/Windows 9.7)進行確認。