Oracle和MySQL数据插入性能测试

本文通过测试探讨了Oracle和MySQL在数据插入性能上的差异。在项目中,使用SSM框架和Oracle数据库,发现批量插入比单条插入显著提高效率。测试发现Oracle批量插入的上限可能在5000至10000条之间,超过会报错。而多线程批量插入比批量插入稍快。与Oracle相比,无论批量、for循环还是多线程,MySQL在插入性能上均胜出。测试环境包括win10、jdk1.8、MySQL5.7和Oracle 11g。测试结果挑战了Oracle效率高于MySQL的普遍看法。
摘要由CSDN通过智能技术生成

前言:最近在项目中需要从一个接口获取大量的数据,然后插入到自己的数据库去。项目使用的是SSM框架结构,数据库是Oracle,最开始

是在java里面for循环一条一条插进去的写法,后面发现这样太耗时,就试了一下批量插入的SQL语句,果然速度提升了非常多,如果再使用

多线程的话,速度还会提升一些。

那这样就使我好奇起来,那就是Oracle一次性最多支持多少条的批量插入呢?因为不搞清楚这个,有可能到后面的时候返回的数据量

超过Oracle能够支持的批量插入数据量,就会报错。所以还是应该搞清楚。同时也测试一下MySQL和Oracle在方面的对比

下面是测试数据库的代码

Spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<context:component-scan base-package="com.test"></context:component-scan>

	<!-- 1. 数据源 : DriverManagerDataSource 链接Oracle 的数据库 -->
	<bean id="oracleDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
			<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
				<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
				<property name="username" value="scott" />
				<property name="password" value="orcl"/>
	</bean>

	<!-- 1. 数据源 : DriverManagerDataSource MySQL 的数据库 -->
	<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/test?&useSSL=false&
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值