HugeGraph图数据库各类索引功能对比

Stella981
• 阅读 797

HugeGraph Database Index

HugeGraph图数据库的索引支持比较全面,图数据库的索引一般包括几方面:

  • 图索引/边索引(graph-index):主要用于加速获取顶点的关联边,一般使用邻接表或十字链表等方式,也可以使用hash索引。hugegraph使用的是邻接表。
  • 超级点索引(vertex-centric-index):主要用于加速获取超级顶点的部分关联边,比如查询12315号码这个点最近一周的通话边。hugegraph通过sortkey实现的,相当于增强版邻接表。
  • 普通属性索引(secondary-index):主要用于加速根据属性来检索顶点、或根据属性来检索边,数据库一般使用btree或hash实现。
  • 可通过比较大小来检索的属性索引(range-index):主要用于加速根据属性范围来检索顶点或边,比如age>18的人,数据库一般使用btree实现。
  • 可根据前缀+比较大小来检索的属性索引(shard-index):主要用于加速根据属性范围来检索顶点或边,比如city=Beijing && age>18的人。
  • 可全文检索的属性索引(search-index):主要用于加速根据属性值中的任意文本段或词语来检索顶点或边,比如city contains Bay的人。

以上索引在HugeGraph图数据库中均支持,属性索引在HugeGraph实现根据存储而定,主要还是依赖lsm-tree;全文索引的实现原理是对属性文本分词后进行存储索引。

参考文档:https://hugegraph.github.io/h...

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
添砖java的啾 添砖java的啾
2年前
distinct效率更高还是group by效率更高?
目录00结论01distinct的使用02groupby的使用03distinct和groupby原理04推荐groupby的原因00结论先说大致的结论(完整结论在文末):在语义相同,有索引的情况下groupby和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:distinct效率高于groupby。原因是di
Wesley13 Wesley13
2年前
MySQL千万级别优化·中
MySQL千万级别的查询优化手段·中单列索引(假设在v\_record表中存在id列的索引)1、WHERE条件使用​EXPLAINSELECT\FROMv\_recordWHEREid2​结论:利用索引进行回表查询2、SELECT字段使用
Wesley13 Wesley13
2年前
95%的人都不知道 MySQL还有索引管理与执行计划
1.1索引的介绍  索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。  索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。!fi
Wesley13 Wesley13
2年前
MySQL 索引(3)
什么是索引?索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。比如想从字典中查询某一个字,我们可以通过偏旁、或者拼音来快速定位到要找的页码,这种方式也可以被理解为一种索引。Mysql常用的索引类型类型说明Normal(普通)普通索引,没任何限制。Unique(唯
Wesley13 Wesley13
2年前
Oracle 建立索引及SQL优化
数据库索引:索引有单列索引复合索引之说如何某表的某个字段有主键约束和唯一性约束,则Oracle则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。建设原则: 1、索引应该经常建在Where子句经常用到的列上。如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%。则应该考虑。 2、对于两表连接的字段,
Stella981 Stella981
2年前
ELK学习笔记之ElasticSearch的索引详解
0x00ElasticSearch的索引和MySQL的索引方式对比Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型
Wesley13 Wesley13
2年前
MongoDB性能篇
一、索引MongoDB提供了多样性的索引支持,索引信息被保存在system.indexes中,且默认总是为\_id创建索引,它的索引使用基本和MySQL等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为奇。1.基础索引在字段age
Wesley13 Wesley13
2年前
MySQL索引初探
一、什么是索引?帮助数据库系统实现高效获取数据的数据结构索引可以帮助我们快速地定位到数据而不需要每次搜索的时候都遍历数据库中的每一行。二、常见实现方式有哪些?常见索引模型有三种:哈希表、有序数组、搜索树1.哈希表(1)使用哈希表实现的索引称为哈希索引。!(https://os
小万哥 小万哥
4个月前
SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤
SQLCREATEINDEX语句SQLCREATEINDEX语句用于在表中创建索引。索引用于比其他方式更快地从数据库中检索数据。用户无法看到索引,它们只是用于加速搜索/查询。注意:使用索引更新表比不使用索引更新表需要更多的时间(因为索引也需要更新)。因此,