首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OrientDB查询方式太慢

问OrientDB查询方式太慢
EN

Stack Overflow用户
提问于 2016-01-22 06:56:27
回答 1查看 531关注 0票数 2

我可以通过web界面很好地执行下面的查询。它几乎不需要任何时间就能完成。

代码语言:javascript
复制
SELECT from Person;

但是,当我尝试在Java应用程序中执行此操作时,它需要17秒以上的时间才能完成。

我使用的代码基本上是这两行:

代码语言:javascript
复制
OrientGraph graph = new OrientGraph("remote:93.x.x.x/test");
OCommandRequest req = graph.command(new OCommandSQL(query));
req.execute();

有没有可能REST请求要慢得多?Web界面使用plocal (我猜),而我的Java应用程序使用远程连接。

EN

回答 1

Stack Overflow用户

发布于 2016-01-23 00:55:47

尝试也从控制台运行相同的查询。在控制台上花费的时间应该大致相同(只是比java稍慢一点)。我做了一个测试,插入了100,000个顶点类的Person。各种查询响应时间: Studio = 7.72秒,Console = 2,043秒,Java = 1:23到1:41秒

​

如果收入来自一个非常不同的时期,也许java出了什么问题。您已经显示了"OCommandSQL",请查看"OSQLSynchQuery“是否有很大的差异。

代码语言:javascript
复制
    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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34935958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档