Oracle 和 MySQL 的 JDBC 到底谁慢?

通过JDBC测试,Oracle和MySQL的读取性能被比较。结果显示,Oracle每秒能读取约10万行,而MySQL接近8万行。文本文件的读取速度比数据库快6.69至9.07倍。二进制存储格式进一步提升了读取效率。结论是,数据库的JDBC性能较差,合理格式的二进制文件可能比数据库快15倍以上,适合大数据场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经常听人说,数据库的IO性能不佳,但说归说,并没有感性认识。我们现在就来实际测试一下,常用的Oracle和MySQL的JDBC读取性能如何。

之所以测试JDBC,是因为大部分应用是JAVA写的,也就只能用JDBC来访问数据。这里仅测试用JDBC读出数据,并产生成Java的记录对象(毕竟到了这一步才能在应用中使用),不作任何计算。

1. 数据来源

使用TPCH生成的数据,选用其中的customer表来做测试,数据记录为3000万行,8个字段。它生成的原始文本文件名为customer.tbl,文件大小为4.9G。利用数据库提供的数据导入工具将此文件数据导入到Oracle和MySQL的数据表中。

2. 测试环境

在一台Intel服务器上完成测试,2个Intel2670 CPU,主频2.6G,共16核,内存64G。数据库表数据及文本文件均存储在同一块SSD硬盘上。

所有测试均在服务器本机上完成,没有消耗网络传输时间。

3. 数据库读数测试

通过Oracle提供的JDBC接口,用SQL语句执行数据读取。

Java写起来麻烦,用SPL脚本执行测试:

  A  
1 =now() /记录时间
2 =connect("oracle") /连接数据
3 =A2.cursor("select * from customer") /生成取数游标
4 for A3,10000 /循环取数,每次10000条
5 =A2.close() /关闭连接
6 =interval@s(A1,now()) /计算时长
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值