vaadin jpa容器连接和性能

时间:2013-04-26 15:19:30

标签: jpa vaadin

我想问另一个关于vaadin jpacontainer的问题。

  1. 如果我有一个“人”jpacontainer,将它绑定到一个表,然后我做这样的事情:

    person.getItem(1).getItemProperty("name").getValue();
    person.getItem(2).getItemProperty("name").getValue();
    

    这是否意味着我打开数据库连接,然后查询“从id = 1的人中选择名称”然后关闭连接,然后为下一个ID执行相同操作?或连接始终打开?或者是什么?

  2. 人员表有+ - 500.000条记录。如果我想更新这样的单个记录:

    person.getItem(1).getItemProperty("name").setValue("John");
    

    这需要大约3秒钟。有没有办法更快地做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为你的问题更多地与优化数据库有关,而与Vaadin没有多大关系。

  

这是否意味着我打开数据库连接,然后查询“从id = 1的人中选择名称”然后关闭连接,然后为下一个ID执行相同操作?或连接始终打开?或者什么?

初始化JPA EntityManagerFactory时,您将传入数据源。您的数据源将处理连接池。

  

人员表有+ - 500.000条记录......这需要大约3秒钟。有没有办法更快地做到这一点?

您应该在此处查看数据库优化性能的方法。将JPA日志记录设置为FINE并查看输出JPQL。您将能够将其用作提示,以便您可以采取哪些措施来提高性能。也许添加索引或检查其他瓶颈会有所帮助