所以我讀了有關索引和實施,我偶然發現了這個網站,有B樹索引的簡要說明:多於1列的B樹索引是什麼樣的?
http://20bits.com/articles/interview-questions-database-indexes/
B樹索引非常有意義將對索引只在一個列上,但是假設我創建了一個包含多列的索引,那麼b-tree如何工作? b-tree中每個節點的價值是什麼?
舉例來說,如果我有這樣的表:
table customer:
id number
name varchar
phone_number varchar
city varchar
,我創建一個索引:(ID,姓名,市)
,然後運行下面的查詢:
SELECT id, name
FROM customer
WHERE city = 'My City';
,這如何查詢使用多列索引,或者它不使用它,除非指數爲(市,編號,名稱)或(市,姓名,身份證),而不是創造出來的?
對於Oracle不適用。索引完整掃描,跳過掃描或快速完整索引掃描不需要使用前導列。 – 2009-10-30 08:35:04
@David:謝謝。我已經編輯了我的答案,以便人們不需要延遲對第一句話的判斷,直到有人閱讀了更多的細則;-) – 2009-10-30 10:11:03