群集與非群集索引
索引在任何數據庫中都非常重要。它們用於提高從表中檢索數據的性能。它們在邏輯和物理上獨立於相關表中的數據。因此,可以刪除、重新創建和重建索引,而不會影響基表的數據。在**、更新和刪除相關表時,oracleserver可以自動維護其索引,而無需DBA的參與。有幾種索引類型。這裡,有一些。
1樹索引
2位圖索引
三。基於函數的索引
4反轉鍵索引
5B樹聚類索引
什麼是非聚類索引?
在以上索引類型中,以下是非**索引。
•B樹索引
•位圖索引
•基於功能的索引
•反向鍵索引
B樹索引是數據庫中使用最廣泛的索引類型。如果對數據庫發出CREATE INDEX命令,而不指定類型,則oracleserver將創建一個b樹索引。當在特定列上創建b樹索引時,oracleserver存儲該列的值並保留對錶中實際行的引用。
位圖索引是在列數據不是很有選擇性時創建的。這意味著,列數據的基數很低。它們是專門為數據倉庫設計的,在高度可更新或事務性表上使用位圖索引是不好的。
函數索引來自oracle8i。這裡,索引列中使用了一個函數。因此,在函數索引中,列數據不是按正常方式排序的。它在應用函數後對列的值進行排序。當使用select查詢的WHERE close函數時,這些非常有用。
反向鍵索引是一種非常有趣的索引類型。假設一個列包含許多唯一的字符串數據,如“cityA”、“cityB”、“cityC”…等等。所有的值都有一個模式。前四個字符是相同的,後面的部分將更改。因此,當在該列上創建REVERSE key index時,Oracle將反轉字符串並將其恢復到b樹索引中。
上述索引類型是非**索引。這意味著,索引數據存儲在表之外,並且保留對錶的排序引用。
什麼是**索引?
**索引是一種特殊類型的索引。它按照物理存儲表數據的方式存儲數據。因此,一個表不能有多個**索引。一個表只能有一個**索引。
**索引和非**索引有什麼區別?1表只能有一個**索引,但一個表中最多可以有249個非**索引。2。創建主鍵時自動創建**索引,但在創建唯一鍵時創建非**索引。3。**索引的邏輯順序與表數據的物理順序匹配,但在非**索引中,它不匹配。 |