H2和EclipseLink - 在一行的表上非常慢

时间:2016-08-03 06:06:42

标签: sql jpa eclipselink h2

我有7个表,有些表是空的,有些只有一行。在表中最多5列,没有任何额外的索引,我做了非常简单的SQL查询。

这就是我运行h2的方式。

java -jar h2-1.3.176.jar

查询由eclipselink 2.6.3生成并执行。这些是我在persistence.xml中的设置

<properties>
    <property name="eclipselink.connection-pool.default.initial" value="5"/>
    <property name="eclipselink.connection-pool.default.min" value="5"/>
    <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
    <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost//home/somepath;DATABASE_TO_UPPER=FALSE"/>
    <property name="javax.persistence.jdbc.user" value="sa"/>
    <property name="javax.persistence.jdbc.password" value=""/>
    <property name="eclipselink.logging.level" value="FINE"/>
    <property name="eclipselink.logging.thread" value="false"/>
    <property name="eclipselink.logging.exceptions" value="true"/>
    <property name="eclipselink.orm.throw.exceptions" value="true"/>
    <property name="eclipselink.left-join-fetch" value="true"/>
    <property name="eclipselink.weaving" value="true"/>
</properties>

因此每个SQL查询执行大约一秒钟(!)。此外,我听说每个SQL查询硬盘都在努力工作。

然而,当我在H2 webconsole按下连接到同一个数据库时,我的java程序工作得非常快。它工作得很快,直到我在webconsole中按断开连接。怎么解释这个?

0 个答案:

没有答案