索引
索引允許DBMS更快地訪問數據。系統創建了這個內部地數據結構(即索引),它導致當查詢以列為索引的時候搜索行,這樣查詢會快得多。這個索引對於給定列索引數值的時通知DBMS找到表中某一行,這有點象書的索引,它告訴你對於給定的字你能找到哪一頁。下面讓我們在AntiqueOwners列中為OwnerID創建索引:
CREATE INDEX OID_IDX ON ANTIQUEOWNERS (OWNERID);
下面語句是為名字創建所以:
CREATE INDEX NAME_IDX ON ANTIQUEOWNERS (OWNERLASTNAME, OWNERFIRSTNAME);
為了刪除索引,你可以利用DROP:
DROP INDEX OID_IDX;
就象前面教程中,我們也可以"drop"(刪除)一個表。上面第二個例子中,是在兩列上創建索引的。
有些DBMS不強迫要求主鍵,換句話說就是,類的唯一性不會自動強制。這是什麼意思呢,好象聽起來雲裡霧裡的。好吧,再給你舉個例子,如果你象插入另外一行到AntiqueOwners表中,比如這個OwnerID是02,有些系統可以讓你這樣做即使我們要求所有行的數值都要是不同的。為了避免兩行有相同的值,我們有一種方法來克服,就是在列上創建唯一的索引,而在這個列上我們需要它成為主鍵,這樣就可以系統不會出現復制的情況:
CREATE UNIQUE INDEX OID_IDX ON ANTIQUEOWNERS (OWNERID);