OrientDB 索引
 
 Index 是指向数据库中数据位置的指针。 
 索引 是一种用于快速定位数据而无需搜索数据库中的每条记录的概念。 OrientDB 支持四种索引算法以及每种算法中的多种类型。
 
 四种类型的索引是-
 
SB-树索引
 
 它提供了其他索引类型可用功能的良好组合。最好将此用于一般用途。它是持久的、事务性的并且支持范围查询。它是默认索引类型。支持该算法的不同类型插件是-
 
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>}]
 
   
  
 以下是有关上述语法中选项的详细信息。
 
 
  -定义索引的逻辑名称。您还可以使用 
 
   表示法创建绑定到架构属性的自动索引。 
  
    使用架构的类,
   
     使用在类中创建的属性。
   
  
 
  
 
  -提供您正在创建自动索引以索引的类的名称。这个类必须存在于数据库中。
 
 
  -提供您希望自动索引索引的属性列表。这些属性必须已存在于架构中。
  
 
  -提供您要创建的索引的算法和类型。
 
 
  -提供带有自动索引的可选键类型。
 
 
  -提供 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 
----+------+----+-----
 
   
  
删除索引
 
 如果你想删除一个特定的索引,你可以使用这个命令。此操作不会删除链接记录。
 
 以下语句是删除索引的基本语法。
 
 
 其中 
 
   提供要删除的索引的名称。
 
 尝试以下查询以删除用户 sales_user 的名为"ID"的索引。
 
 
 
  DROP INDEX sales_users.Id 
 
   
  
 如果上面的查询执行成功,你会得到如下输出。
 
 
 
  Index dropped successfully