Oracle數據庫索引的特征
索引有兩個特征,即唯一性索引和復合索引。Oracle容災 數據庫容災
唯一性索引保證在索引列中的全部數據是唯一的,不會包含冗余數據。如果表中已經有一個主鍵約束或者唯一性鍵約束,那么當創建表或者修改表時,SQL Server自動創建一個唯一性索引。然而,如果必須保證唯一性,那么應該創建主鍵約束或者唯一性鍵約束,而不是創建一個唯一性索引。當創建唯一性索引 時,應該認真考慮這些規則:當在表中創建主鍵約束或者唯一性鍵約束時,SQL Server自動創建一個唯一性索引;如果表中已經包含有數據,那么當創建索引時,SQL Server檢查表中已有數據的冗余性;每當使用插入語句插入數據或者使用修改語句修改數據時,SQL Server檢查數據的冗余性:如果有冗余值,那么SQL Server取消該語句的執行,并且返回一個錯誤消息;確保表中的每一行數據都有一個唯一值,這樣可以確保每一個實體都可以唯一確認;只能在可以保證實體 完整性的列上創建唯一性索引,例如,不能在人事表中的姓名列上創建唯一性索引,因為人們可以有相同的姓名。Oracle容災 數據庫容災
復合索引就是一個索引創建在兩個列或者多個列上。在搜索時,當兩個或者多個列作為一個關鍵值時,*好在這些列上創建復合索引。當創建復合索引時,應該考慮 這些規則:最多可以把16個列合并成一個單獨的復合索引,構成復合索引的列的總長度不能超過900字節,也就是說復合列的長度不能太長;在復合索引中,所 有的列必須來自同一個表中,不能跨表建立復合列;在復合索引中,列的排列順序是非常重要的,因此要認真排列列的順序,原則上,應該首先定義最唯一的列,例 如在(COL1,COL2)上的索引與在(COL2,COL1)上的索引是不相同的,因為兩個索引的列的順序不同;為了使查詢優化器使用復合索引,查詢語 句中的WHERE子句必須參考復合索引中*一個列;當表中有多個關鍵列時,復合索引是非常有用的;使用復合索引可以提高查詢性能,減少在一個表中所創建的 索引數量。 Oracle容災 數據庫容災 |
|