insert带索引的属性比不带索引的性能损耗

insert EDGE test (propA, propB) values a->b:(valueA, valueB);
请问如果propB 上创建了索引,insert的导入性能消耗是不带索引的多少(由于是批量导入比较关心)
我理解需要删除old value的索引,所以需要查一遍?或者对于有索引的批量导入是否有更高效的方式

你可以插入完数据,再建索引,这样高效点。索引支持rebuild,具体看文档

主要是每天例行批量导入,不是只第一次批量导

你理解的是对的,请问每天新数据的倒入量是多大?

如果edge有附属索引存在,对性能的影响主要是3点:
1,写入的数据量增大,因为index的数据是单独存储的。
2,在insert edge的时候会对旧的索引数据进行更新操作,这个操作是原子操作,对性能会有影响。
3,insert edge的时候会查询对应的row。

插入索引的建议:
1,batch insert。
2,如果数据量很大,能明显感觉到性能衰减,建议insert一定量的数据后,做一个compact,再继续insert。

每天insert增量的边大概10亿多条(3种type),每种4亿

  1. 索引的唯一作用是给LOOKUP语句使用,其他任何情况下没有任何查询加速的作用(v1.0);这个和SQL不太一样。
  2. block cache 够大的话(放的下索引),batch insert写入是原来的80%。block cache不够放下的话,你可以放弃这个思路了

浙ICP备20010487号