mysql和Oracle性能比较.docx
《mysql和Oracle性能比较.docx》由会员分享,可在线阅读,更多相关《mysql和Oracle性能比较.docx(10页珍藏版)》请在冰豆网上搜索。
![mysql和Oracle性能比较.docx](https://file1.bdocx.com/fileroot1/2023-1/1/3515ea6e-3ced-43ad-b755-2dbfa293cfb5/3515ea6e-3ced-43ad-b755-2dbfa293cfb51.gif)
mysql和Oracle性能比较
项目ID:
文件序号:
文件编号:
密级:
总页数:
共12页
mysql和Oracle性能比较
版本
拟制
陈彬
日期
2014-12-04
审核
日期
批准
日期
目 录
1目的
比较在mysql和Oracle数据库中insert、update、delete、select的速度。
2环境
数据库类型
Mysql(InnoDB引擎)
Oracle
IP
192.168.2.228
192.168.2.229
硬件环境
8cpu、内存16G、硬盘200G
8cpu、内存16G、硬盘200G
操作系统
CentOSrelease6.5
CentOSrelease6.5
数据库版本
5.6.21
11.2.0.1
分配给数据库的内存
8G
8G
3mysql和oracle的性能比较测试结果
执行时间
Mysql上执行的时间(S)
Oracle上执行的时间(S)
insert(99849条记录)
129
74
update(谓词走索引)
0.08
0.01
update(谓词不走索引)
0.32
0.08
delete(谓词走索引)
0.03
0.02
delete(谓词不走索引)
0.31
0.09
select(谓词走索引)
0.00
0.28
select(谓词不走索引)
0.26
0.328
4insert的速度比较
4.1mysql上的insert速度
1、创建表
CREATETABLELAB_SPECIMEN_REPORT_DETAIL(
idvarchar(96)NOTNULL,
englongnamevarchar(600)DEFAULTNULL,
engnamevarchar(600)DEFAULTNULL,
refmethodstringvarchar(3000)DEFAULTNULL,
statusbigint(10)DEFAULTNULL,
subbarcodevarchar(120)DEFAULTNULL,
testmethodvarchar(300)DEFAULTNULL,
testnamevarchar(600)DEFAULTNULL,
tipvarchar(300)DEFAULTNULL,
uniquecodevarchar(300)DEFAULTNULL,
unitvarchar(300)DEFAULTNULL,
created_by_uservarchar(96)DEFAULTNULL,
updated_by_uservarchar(96)DEFAULTNULL,
specimen_reportvarchar(96)DEFAULTNULL,
eng_testmethodvarchar(2000)DEFAULTNULL,
PRIMARYKEY(id)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
2、执行insert语句
insert语句脚本(共99849条记录)如下:
source/root/test.sql
3、inser所消耗的时间
执行test.sql脚本中的99849条insert语句需要执行2分钟9秒。
4.2oracle上的insert速度
1、创建表
createtableLAB_SPECIMEN_REPORT_DETAIL
(
IDVARCHAR2(96)notnull,
ENGLONGNAMEVARCHAR2(600),
ENGNAMEVARCHAR2(600),
REFMETHODSTRINGVARCHAR2(3000),
STATUSNUMBER(10),
SUBBARCODEVARCHAR2(120),
TESTMETHODVARCHAR2(300),
TESTNAMEVARCHAR2(600),
TIPVARCHAR2(300),
UNIQUECODEVARCHAR2(300),
UNITVARCHAR2(300),
CREATED_BY_USERVARCHAR2(96),
UPDATED_BY_USERVARCHAR2(96),
SPECIMEN_REPORTVARCHAR2(96),
ENG_TESTMETHODVARCHAR2(2000CHAR)
);
altertableLAB_SPECIMEN_REPORT_DETAIL
addprimarykey(ID);
2、执行insert语句
insert语句脚本(共99849条记录)如下:
@test.sql
3、insert所消耗的时间
执行test.sql脚本中的99849条insert语句需要执行1分钟14秒。
5update的速度比较
5.1mysql上update速度(谓词走索引的情况)
1、创建索引
2、执行update语句
3、update所消耗的时间
执行如上语句更新了190条记录,共耗时0.08秒。
5.2Oracle上update速度(谓词走索引的情况)
1、创建索引
2、执行update语句
3、update所消耗的时间
执行如上语句更新了190条记录,共耗时0.01秒。
5.3mysql上update速度(谓词不走索引的情况)
注意:
已经删除了在SUBBARCODE上建立的索引。
1、执行update语句
2、update所消耗的时间
执行如上语句更新了190条记录,共耗时0.32秒。
5.4Oracle上update速度(谓词不走索引的情况)
1、执行update语句
2、update所消耗的时间
执行如上语句更新了190条记录,共耗时0.08秒。
6delete的速度比较
6.1mysql上delete速度(谓词走索引的情况)
1、创建索引
2、执行delete语句
3、delete所消耗的时间
执行如上语句删除了190条记录,共耗时0.03秒。
6.2Oracle上delete速度(谓词走索引的情况)
1、创建索引
2、执行delete语句
3、delete所消耗的时间
执行如上语句删除了190条记录,共耗时0.02秒。
6.3mysql上delete速度(谓词不走索引的情况)
注意:
已经删除了在SUBBARCODE上建立的索引。
1、执行delete语句
2、delete所消耗的时间
执行如上语句删除了190条记录,共耗时0.31秒。
6.4Oracle上delete速度(谓词不走索引的情况)
1、执行delete语句
2、delete所消耗的时间
执行如上语句删除了190条记录,共耗时0.09秒。
7select的速度比较
7.1mysql上select速度(谓词走索引的情况)
1、创建索引
2、执行select语句
select*fromLAB_SPECIMEN_REPORT_DETAILtwheresubbarcode='710719132103'orderbyid;
3、select所消耗的时间
执行如上语句查询10条记录,共耗时0.00秒。
7.2Oracle上delete速度(谓词走索引的情况)
1、创建索引
2、执行select语句
select*fromLAB_SPECIMEN_REPORT_DETAILtwheresubbarcode='710719132103'orderbyid;
3、select所消耗的时间
执行如上语句select10条记录,共耗时0.28秒。
7.3mysql上select速度(谓词不走索引的情况)
注意:
已经删除了在SUBBARCODE上建立的索引。
1、执行select语句
select*fromLAB_SPECIMEN_REPORT_DETAILtwheresubbarcode='710719132103'orderbyid;
2、select所消耗的时间
执行如上语句select10条记录,共耗时0.26秒。
7.4Oracle上select速度(谓词不走索引的情况)
1、执行select语句
select*fromLAB_SPECIMEN_REPORT_DETAILtwheresubbarcode='710719132103'orderbyid;
2、select所消耗的时间
执行如上语句select10条记录,共耗时0.328秒。
8总结
经过在mysql和Oracle数据库中进行insert、update、delete、select的测试,在mysql上的insert、update、delete速度不及oracle快,在mysql上的select速度比oracle要快。