我可以通过web界面很好地执行下面的查询。它几乎不需要任何时间就能完成。
SELECT from Person;但是,当我尝试在Java应用程序中执行此操作时,它需要17秒以上的时间才能完成。
我使用的代码基本上是这两行:
OrientGraph graph = new OrientGraph("remote:93.x.x.x/test");
OCommandRequest req = graph.command(new OCommandSQL(query));
req.execute();有没有可能REST请求要慢得多?Web界面使用plocal (我猜),而我的Java应用程序使用远程连接。
发布于 2016-01-23 00:55:47
尝试也从控制台运行相同的查询。在控制台上花费的时间应该大致相同(只是比java稍慢一点)。我做了一个测试,插入了100,000个顶点类的Person。各种查询响应时间: Studio = 7.72秒,Console = 2,043秒,Java = 1:23到1:41秒

如果收入来自一个非常不同的时期,也许java出了什么问题。您已经显示了"OCommandSQL",请查看"OSQLSynchQuery“是否有很大的差异。
String query = "";
Iterable<Vertex> result;
query = "select from Persona";
//query with OSQLSynchQuery
result = g.command(new OSQLSynchQuery<Vertex>(query)).execute();
List<OrientVertex> listVertex = new ArrayList<OrientVertex>();
CollectionUtils.addAll(listVertex, result.iterator());
//query with OCommandSQL
OCommandRequest req = g.command(new OCommandSQL(query));
req.execute();https://stackoverflow.com/questions/34935958
复制相似问题