
- OrientDB 教程
- OrientDB - 首頁
- OrientDB - 概述
- OrientDB - 安裝
- OrientDB - 基本概念
- OrientDB - 資料型別
- OrientDB - 控制檯模式
- OrientDB 資料庫命令
- OrientDB - 建立資料庫
- OrientDB - 修改資料庫
- OrientDB - 備份資料庫
- OrientDB - 恢復資料庫
- OrientDB - 連線資料庫
- OrientDB - 斷開資料庫連線
- OrientDB - 資料庫資訊
- OrientDB - 列出資料庫
- OrientDB - 凍結資料庫
- OrientDB - 解除資料庫凍結
- OrientDB - 配置資料庫
- OrientDB - 匯出資料庫
- OrientDB - 匯入資料庫
- OrientDB - 提交資料庫
- OrientDB - 回滾資料庫
- OrientDB - 最佳化資料庫
- OrientDB - 刪除資料庫
- OrientDB 記錄命令
- OrientDB - 插入記錄
- OrientDB - 顯示記錄
- OrientDB - 載入記錄
- OrientDB - 重新載入記錄
- OrientDB - 匯出記錄
- OrientDB - 更新記錄
- OrientDB - 截斷記錄
- OrientDB - 刪除記錄
- OrientDB 類命令
- OrientDB - 建立類
- OrientDB - 修改類
- OrientDB - 截斷類
- OrientDB - 刪除類
- OrientDB 叢集命令
- OrientDB - 建立叢集
- OrientDB - 修改叢集
- OrientDB - 截斷叢集
- OrientDB - 刪除叢集
- OrientDB 屬性命令
- OrientDB - 建立屬性
- OrientDB - 修改屬性
- OrientDB - 刪除屬性
- OrientDB 頂點命令
- OrientDB - 建立頂點
- OrientDB - 移動頂點
- OrientDB - 刪除頂點
- OrientDB 邊命令
- OrientDB - 建立邊
- OrientDB - 更新邊
- OrientDB - 刪除邊
- OrientDB 高階概念
- OrientDB - 函式
- OrientDB - 序列
- OrientDB - 索引
- OrientDB - 事務
- OrientDB - 鉤子
- OrientDB - 快取
- OrientDB - 日誌
- OrientDB - 效能調優
- OrientDB - 升級
- OrientDB - 安全
- OrientDB - Studio
- OrientDB 介面
- OrientDB - Java 介面
- OrientDB - Python 介面
- OrientDB 有用資源
- OrientDB - 快速指南
- OrientDB - 有用資源
- OrientDB - 討論
OrientDB - 索引
索引是指向資料庫中資料位置的指標。索引是一種用於快速定位資料而無需搜尋資料庫中每個記錄的概念。OrientDB 支援四種索引演算法,每種演算法都包含多種型別。
四種索引型別如下:
SB-Tree 索引
它提供了其他索引型別提供的功能的良好混合。最好將其用於通用實用程式。它是持久的、事務性的並且支援範圍查詢。它是預設的索引型別。支援此演算法的不同型別外掛為:
UNIQUE - 這些索引不允許重複鍵。對於複合索引,這指的是複合鍵的唯一性。
NOTUNIQUE - 這些索引允許重複鍵。
FULLTEXT - 這些索引基於任何單個文字詞。您可以透過CONTAINSTEXT運算子在查詢中使用它們。
DICTIONARY - 這些索引類似於使用 UNIQUE 的索引,但在重複鍵的情況下,它們會用新記錄替換現有記錄。
雜湊索引
它執行速度更快,並且磁碟使用量非常少。它是持久的、事務性的,但不支援範圍查詢。它的工作原理類似於 HASHMAP,這使得它在即時查詢方面更快,並且與其他索引型別相比,它消耗的資源更少。支援此演算法的不同型別外掛為:
UNIQUE_HASH_INDEX - 這些索引不允許重複鍵。對於複合索引,這指的是複合鍵的唯一性。
NOTUNIQUE_HASH_INDEX - 這些索引允許重複鍵。
FULLTEXT_HASH_INDEX - 這些索引基於任何單個文字詞。您可以透過 CONTAINSTEXT 運算子在查詢中使用它們。
DICTIONARY_HASH_INDEX - 這些索引類似於使用UNIQUE_HASH_INDEX的索引,但在重複鍵的情況下,它們會用新記錄替換現有記錄。
Lucene 全文索引
它提供了良好的全文索引,但不能用於索引其他型別。它是持久的、事務性的並且支援範圍查詢。
Lucene 空間索引
它提供了良好的空間索引,但不能用於索引其他型別。它是持久的、事務性的並且支援範圍查詢。
建立索引
建立索引是用於在特定模式上建立索引的命令。
以下語句是建立索引的基本語法。
CREATE INDEX <name> [ON <class-name> (prop-names)] <type> [<key-type>] [METADATA {<metadata>}]
以下是有關上述語法中選項的詳細資訊。
<name> - 定義索引的邏輯名稱。您還可以使用 <class.property> 符號來建立繫結到模式屬性的自動索引。<class> 使用模式的類,<property> 使用在類中建立的屬性。
<class-name> - 提供要建立自動索引以對其進行索引的類的名稱。此類必須存在於資料庫中。
<prop-names> - 提供要由自動索引索引的屬性列表。這些屬性必須已存在於模式中。
<type> - 提供要建立的索引的演算法和型別。
<key-type> - 使用自動索引提供可選的鍵型別。
<metadata> - 提供 JSON 表示形式。
示例
嘗試以下查詢以建立繫結到 sales_user 使用者的“ID”屬性的自動索引。
orientdb> CREATE INDEX indexforID ON sales_user (id) UNIQUE
如果上述查詢成功執行,您將獲得以下輸出。
Creating index... Index created successfully with 4 entries in 0.021000 sec(s)
查詢索引
您可以使用 select 查詢獲取索引中的記錄。
嘗試以下查詢以檢索名為“indexforId”的索引的鍵。
SELECT FROM INDEX:indexforId
如果上述查詢成功執行,您將獲得以下輸出。
----+------+----+----- # |@CLASS|key |rid ----+------+----+----- 0 |null |1 |#11:7 1 |null |2 |#11:6 2 |null |3 |#11:5 3 |null |4 |#11:8 ----+------+----+-----
刪除索引
如果要刪除特定索引,可以使用此命令。此操作不會刪除連結的記錄。
以下語句是刪除索引的基本語法。
DROP INDEX <name>
其中<name>提供要刪除的索引的名稱。
嘗試以下查詢以刪除 sales_user 使用者的名為“ID”的索引。
DROP INDEX sales_users.Id
如果上述查詢成功執行,您將獲得以下輸出。
Index dropped successfully