索引 (Visual Database Tools)
您可以使用索引快速存取資料庫資料表中的特定資訊。 索引是指排列資料庫資料表中一或多個資料行值的結構方式,例如,employee 資料表中的姓氏 (lname) 資料行。 如果您要使用姓氏尋找某個特定員工,索引可協助您取得該資訊,比您搜尋資料表的所有資料列還快速。
索引提供儲存在資料表特定資料行內的資料值指標,然後根據您指定的排序次序排列這些指標。 資料庫使用索引的方法與您使用書籍索引的方法相同:資料庫搜尋索引以尋找特定值,然後依照指標找到含有該值的資料列。
在資料庫圖表中,您可以建立、編輯或刪除選取資料表的索引/索引鍵對話方塊、XML 索引對話方塊或全文檢索索引對話方塊中的每個索引類型。 當您儲存索引附加的資料表時,或當您儲存資料表所在的圖表時,索引會在資料庫中儲存。 如需詳細資訊,請參閱使用索引。
注意事項 |
---|
並非所有資料庫使用索引的方式都相同。如需詳細資訊,請參閱您的資料庫文件。 |
一般而言,只有當索引資料行的資料要經常查詢時,才需要在資料表中建立索引。 索引將佔用磁碟空間並會減緩資料列的新增、刪除和更新速度。 但在大部分情況下,索引擷取資料的速度優勢可彌補這些缺點。 但如果您的應用程式必須經常更新資料,或您的硬碟空間有限,您可能必須限制索引的數目。
當您建立索引之前,必須先決定要使用索引的資料行及要建立的索引類型。
索引資料行
您可以根據資料庫資料表中的單一資料行或多個資料行來建立索引。 多個資料行的索引可區別資料列之間,具有相同值的資料行。
如果您經常同時搜尋或排序兩個或兩個以上的資料行,使用索引也非常有用。 例如,如果您經常在同一個查詢中設定姓氏和名字的準則,便可以在這兩個資料行中建立多個資料行索引。
若要判斷索引的效益:
檢查查詢中的 WHERE 和 JOIN 子句。 上述子句所包含的資料行即可能成為索引。
使用新的索引來檢查查詢執行的效能。
衡量已在資料表上建立的索引數目。 您最好避免在單一資料表建立大量的索引。
檢查已在資料表建立的索引定義。 最好避免重複含有共用資料行的索引。
檢視資料行中唯一資料值的數目,並和資料表中資料列的數目進行比較。 比較結果便可做為是否選擇該資料行的依據,它可協助您決定資料行是否可成為索引,如果可以成為索引的話,其索引類型為何。
索引類型
根據資料庫功能,您可以在資料庫設計工具中建立三種索引類型:唯一、主索引鍵和叢集。 如需您資料庫索引功能的詳細資訊,請參閱您的資料庫文件。
提示
雖然唯一索引有助於尋找資訊,但是,為了最佳的效能,建議您改為使用主索引鍵條件約束或唯一的條件約束。如需這些條件約束的詳細資訊,請參閱使用條件約束。
唯一的索引
唯一的索引即為兩個資料列不允許有相同的索引值。
如果在某資料表建立新的唯一索引,但現有資料中含有重複的索引鍵值,則大部分的資料庫不會允許您儲存此資料表。 資料庫可能也不會允許在資料表中增加會產生重複索引鍵值的新資料。 例如,如果您在 employee 資料表中建立員工姓氏 (lname) 的唯一索引,則不可能同時有兩個員工共用相同的姓氏。
如需唯一索引的詳細資訊,請參閱 如何:建立唯一的索引。
主索引鍵索引
資料庫資料表通常都具有一個資料行或資料行組合,其中該資料行的值是唯一可辨識資料表中的每個資料列。 這個資料行即為資料表的主索引鍵。
在資料庫圖表中定義資料表的主索引鍵時,便會自動建立主索引鍵索引,該索引則為一種特定的唯一索引類型。 這個索引的主索引鍵值必須是唯一的。 在查詢中使用主索引鍵時可快速存取資料。 如需主索引鍵的詳細資訊,請參閱使用索引鍵。
叢集索引
叢集索引 (Clustered Index) 中,資料表資料列實體排列次序與索引鍵值的邏輯 (索引) 順序相同。 資料表只能包含一個叢集索引。
如果該索引並非叢集索引,資料表資料列的實體排列次序會與索引鍵值的邏輯次序不符。 叢集索引提供的資料存取速度通常比非叢集索引還快。
如需使用叢集索引的詳細資訊,請參閱 如何:建立叢集索引。
全文檢索索引
如果您想在資料庫資料表中以文字為基礎的資料行上執行全文檢索搜尋,請建立全文檢索索引。 全文檢索索引必須藉助一般索引,因此您必須先建立一般索引。 您必須在單一、非 Null 的資料行上建立一般索引,而且最好選擇值較小的資料行,而不要選擇包含大數值的資料行。 如需詳細資訊,請參閱 如何:建立索引。
注意事項 |
---|
若要建立全文檢索索引,您必須先使用外部工具建立目錄,例如 SQL Server Management Studio 或 Enterprise Manager。 |
注意事項 |
---|
Microsoft SQL Server Express 2005 無法使用全文檢索索引功能。 |
XML 索引
使用 [XML 索引] 對話方塊可建立 XML 資料型別資料行的索引,但是此類資料行無法以 [索引/索引鍵] 對話方塊進行索引。 各個 XML 資料行可以具有一個以上的 XML 索引,但是首先建立 (主要) 的索引將成為其他索引的基準。 如果您刪除主要的 XML 索引,其他的索引也將一併刪除。 如需 XML 索引的詳細資訊,請參閱 如何:建立 XML 索引。