程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL循序漸進(18)索引

SQL循序漸進(18)索引

編輯:關於SqlServer

索引

索引允許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);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved