修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      索引

      概述

      索引,即属性索引,是嬴图采用的一种技术,通过为点和边的指定属性创建索引来加速查询性能。数据库根据有索引的属性能够快速定位并获取数据。索引对大型数据集尤其有益,无需扫描全图即可优化对特定属性值的过滤。

      索引类型

      嬴图支持对单个属性应用单一索引,对同一schema下的多个属性应用复合索引

      显示索引

      显示当前图集的点索引信息:

      SHOW NODE INDEX
      

      显示当前图集的边索引信息:

      SHOW EDGE INDEX
      

      索引信息展示在表_nodeIndex_edgeIndex中。各表提供了索引的基础信息:

      字段
      描述
      id 索引ID
      name 索引名称
      properties 索引关联属性
      schema 索引关联属性所在schema
      status 索引当前状态,包括DONECREATING

      创建索引

      使用CREATE INDEX语句可创建一个索引。请注意,每个属性只能有一个索引。索引创建操作以作业形式进行,稍后可使用SHOW JOB确认索引是否成功创建。

      为提升查询性能,嬴图中的系统属性已完成优化,具有内建效率。这些属性不支持创建索引。

      <create index statement> ::=
        "CREATE INDEX" <index name> "ON" < "NODE" | "EDGE" > <schema name>
        "(" <property index item> [ { "," <property index item> }... ] ")"
      
      <property index item> ::=
        <property name> [ "(" <bytes> ")" ]
      

      详情

      • <index name>而言,点索引不可重名,边索引也不可重名,但点索引可以和边索引重名。
      • 对于单一索引,指定单个<property index item>;对于复合索引,列出多个<property index item>
      • 如果指定属性的类型为stringtext,必须指定过滤器中字符串的最大字节数<bytes>以应用该索引。标准英文文本中,大多数编码(如 ASCII或UTF-8)的每个字符使用1个字节。非英文字符的大小可能有所不同。例如,一个中文字符的大小为3字节。更多信息,请参阅字符串大小限制

      为点card的属性balance创建名为cBalance的单一索引:

      CREATE INDEX cBalance ON NODE card (balance)
      

      为点card的属性namestring类型)创建名为name的单一索引,并限制最大查询字符串长度为10

      CREATE INDEX name ON NODE card (name(10))
      

      为边transfer的属性amountnotestext类型,限制最大查询字符串长度为10)创建名为transAmountNotes的复合索引:

      CREATE INDEX transAmountNotes ON EDGE transfer (amount, notes(10))
      

      删除索引

      使用语句DROP NODE INDEXDROP EDGE INDEX删除索引。删除索引不会影响存储在分片中的真实属性值。

      拥有索引的属性无法被删除。删除属性需要先删除索引。

      删除点索引cBalance

      DROP NODE INDEX cBalance
      

      删除边索引transAmountNotes

      DROP EDGE INDEX transAmountNotes
      

      使用索引

      当查询过滤用到相关属性时,系统会自动应用索引,无需显式声明。

      最左前缀原则

      复合索引中属性的顺序非常重要:匹配到索引最左侧属性(即指定顺序里的首个属性或前几个属性)的查询会因此受益。

      例如:

      CREATE INDEX name_age ON NODE user (name(10),age)
      
      • MATCH (u:user WHERE u.name = "Kavi" AND u.age > 20)使用了索引。
      • MATCH (u:user WHERE u.name = "Kavi")使用了索引。
      • MATCH (u:user WHERE u.age > 20)未使用索引。
      • MATCH (u:user WHERE u.name = "Kavi" AND u.age > 20 AND u.grade = 7)使用了索引,同时包含对属性grade的过滤,但该属性没有索引。

      字符串大小限制

      对于stringtext类型属性的索引,需确保过滤器中使用字符串大小未超过指定上限。

      例如,为user点的name属性创建索引Username,索引使用的字符串大小限制为8字节:

      CREATE INDEX Username ON NODE user (name(8))
      

      以下查询不会使用索引Username,因为指定的字符串Aventurine超过了8字节的限制:

      MATCH (n:user {name: "Aventurine"})
      RETURN n
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写