使用OrientDB的ShortestPath查询太慢

萨尔瓦多

我正在使用以下代码来查找两个节点之间的最短路径:

Iterable<Object> spath = orientGraph.getRawGraph().command(new OSQLSynchQuery<Object>( 
                "select shortestPath("+v1.getId()+","+v2.getId()+",'BOTH')"));

我的问题是我需要太多时间。我的图有36,692个顶点和367,662条边,查询大约需要2分钟。我使用的是orientdb-1.6.2。我的机器具有2.3 GHz的CPU(i5),4GB RAM和320GB磁盘,并且我在Macintosh OSX Mavericks(10.9)上运行。

请注意,我没有对数据库使用任何特殊配置。我只是用以下代码打开它:

orientGraph = new OrientGraph("plocal:"+orientDBDir);

另外,我的堆大小为2GB。

有没有一种方法可以提高程序速度呢?

编辑:我正在尝试使用以下代码打印结果

System.out.println(spath.iterator().next());

经过一番测试后,我意识到spate.iterator()。next()这一行会减慢该过程的速度。这是为什么?

吕卡

1.7-SNAPSHOT版本修复了此问题。现在,从2分钟起,同一查询将在0.1秒内返回!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OrientDB使用shortestPath()获得Edges

来自分类Dev

OrientDB shortestPath()使用特定的边缘@class?

来自分类Dev

使用GROUP BY和IN的SQL查询太慢

来自分类Dev

查询太慢,没有使用索引

来自分类Dev

OrientDB:如何使用选择查询更新列

来自分类Dev

使用OrientDB图形API与SQL查询的性能

来自分类Dev

orientdb之类的使用节点js进行查询

来自分类Dev

使用 gremlin 查询更新 Orientdb 上的节点

来自分类Dev

使用OLEDB(VFPOLEDB)在DBF文件上运行查询太慢

来自分类Dev

基于索引的查询太慢

来自分类Dev

SQL查询太慢

来自分类Dev

使用BaasBox进行NoSQL统计信息类型查询-OrientDB 1.7.10

来自分类Dev

Postgres表选择查询太慢

来自分类Dev

Python FFmpeg查询rtsp太慢

来自分类Dev

postgresql全文搜索查询太慢

来自分类Dev

SQL 查询多个连接太慢

来自分类Dev

在OrientDB图上查询

来自分类Dev

查询OrientDB图

来自分类Dev

OrientDB 查询比较

来自分类Dev

OrientDB查询分层数据

来自分类Dev

OrientDB中查询的最佳索引

来自分类Dev

OrientDB的查询语言是什么?

来自分类Dev

OrientDB:连接的组件OSQL查询

来自分类Dev

在OrientDB中查询链接的顶点

来自分类Dev

OrientDB SELECT和子查询

来自分类Dev

OrientDB Traverse SQL查询效率

来自分类Dev

OrientDB选择查询而不是联接

来自分类Dev

Orientdb 超慢查询性能

来自分类Dev

IP地理位置查询太慢