为什么我测试出来的h2性能比mysql要差

发布于 2021-12-02 23:09:27 字数 2039 浏览 832 评论 5

从h2官网的数据看,h2的性能要比mysql的高,但是我在本机上测试结果却是mysql的性能是h2的10倍,是不是测试方法或者配置有问题,请问有什么方法可以优化h2的性能?

测试类的代码

public class H2Test {

static JdbcTemplate template;

public static void main(String[] args) {
ApplicationContext ac = new FileSystemXmlApplicationContext("beans_h2.xml");
template=(JdbcTemplate) ac.getBean("jdbcTemplate");

template.update("drop table if exists person");
template.update("create table person (id int,name varchar(10))");
 
int count=100;
   long start=System.currentTimeMillis();
   for (int i = 0; i < count; i++) {
    System.out.println(i);
template.update("insert into  person (id,name) values("+i+",'"+i+"')");
}
long end=System.currentTimeMillis();
System.out.println("平均插入用时:"+(end-start)/count+"ms");

start=end;
for (int i = 0; i < count; i++) {
Map map=template.queryForMap("select * from person where id="+i);
System.out.println(map);
}
end=System.currentTimeMillis();
System.out.println("平均查询用时:"+(end-start)/count+"ms");
}
}

配置文件

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >

<!-- 
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>

-->
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:testtest"/>

</bean>


<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>

h2的平均插入及查询用时在100ms左右,mysql在10ms左右

h2版本h2-1.3.169

mysql版本5.5.20

操作系统:win7

cpu:2.4Ghz

内存:4g

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温柔少女心 2021-12-08 19:02:48

spring boot jpa 

10000条数据, H2  575ms

 

一人独醉 2021-12-08 16:37:10

我测试也一样,插入1000条数据要5秒左右。spring boot框架,jpa测试。说快的人能拿出测式样例吗。还是就没测过。

坏尐絯 2021-12-08 07:00:30

又见到一个没有主键的表。

id上面建索引再看看吧。

南冥有猫 2021-12-08 01:23:04

数据量太小了,再大些,多测几次,就显出了

叹沉浮 2021-12-06 07:48:57

更可笑的是用100条数据来测数据库性能!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文