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 

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 orientdb数据库/a> 只为你绽放。

本文固定链接: http://kua0.com/2019/05/09/orientdb数据库-orientdb索引/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注