python端插入vertex的使用问题

for event in tqdm(event_list, desc='Constructing event vertex'):
    session_pool.execute(
        'INSERT VERTEX event(name) VALUES "%s":("%s")' % (event,event)
    )

上面是我在python端插入vertex的代码,在创建tag后也已经使用time.sleep(15)等了15秒。但是我在数据库中查数据的时候,返回的是空集。
image
但是奇怪的是,我又插入了一个测试vertex,是可以返回结果的。


请问这是怎么回事?

什么版本号?之前确定是有数据么,你试试在原查询语句后面加个 limit 10 看看有没有返回结果。

版本是3.3,之前是有数据的,直接使用match (n) return n limit 3是有数据返回的。。。

我看那个返回时间,估计是没查询到什么。之前我遇到过一次是因为网络有问题,所以查询挂了。:thinking:

:joy: :joy:别被返回时间误导了,因为我试了很多次,实际上测试数据是之后查询的。。

我没表述清楚,我是说那个返回时间估计就是虚晃了下。因为我之前也是查不到数据(其实有)但是很快查询语句就执行完了。然后研发同学和我说可能是数据量太大了,或者是那个时候网络通信有问题(我用的 explorer)

最新的进展,我发现代码运行两遍就可以正确返回。。不太懂这是什么原因 :face_with_raised_eyebrow: :face_with_raised_eyebrow:

不用 limit,同样的语句执行两次?我开始怀疑是不是客户端通信问题了,cc @wey 你有别的看法么?

可以分享一下 profile match ... 的输出么?


index scan, row 0 ,这说明在插入数据之后才创建索引,但是索引没有重建,参考文档 rebuild index 就行了

1 个赞

但是他不是执行了 2 次,第二次有数据么。

需要看有数据的 profile 结果,可能那个是 scanVertices

感谢解答,rebulid index的操作是有的,但是没想到,插入数据后rebulid index也要先等10秒钟 :joy:

这是期待中的
如果插入之前创建了索引,就没有异步的问题了,rebuild index 要把所有数据都重建index 一下,数据量很大的时候就不是 10秒这么短的了。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。