1、mysql和Oracle性能比较项目ID:文件序号:文件编号:密级:总页数:共12页 mysql和Oracle性能比较 版本 拟制陈彬日期2014-12-04审核日期批准日期目录1 目的 比较在mysql和Oracle数据库中insert、update、delete、select的速度。2 环境数据库类型Mysql(InnoDB引擎)OracleIP192.168.2.228192.168.2.229硬件环境8 cpu 、内存16G、硬盘200G8 cpu 、内存16G、硬盘200G操作系统CentOS release 6.5CentOS release 6.5数据库版本5.6.2111.2.
2、0.1分配给数据库的内存8G8G3 mysql和oracle的性能比较测试结果执行时间Mysql上执行的时间(S)Oracle上执行的时间(S)insert(99849条记录)12974update(谓词走索引)0.080.01update(谓词不走索引)0.320.08delete(谓词走索引)0.030.02delete(谓词不走索引)0.310.09select(谓词走索引)0.000.28select(谓词不走索引)0.260.328 4 insert的速度比较 4.1 mysql上的insert 速度 1、创建表 CREATE TABLE LAB_SPECIMEN_REPORT_DE
3、TAIL ( id varchar(96) NOT NULL, englongname varchar(600) DEFAULT NULL, engname varchar(600) DEFAULT NULL, refmethodstring varchar(3000) DEFAULT NULL, status bigint(10) DEFAULT NULL, subbarcode varchar(120) DEFAULT NULL, testmethod varchar(300) DEFAULT NULL, testname varchar(600) DEFAULT NULL, tip va
4、rchar(300) DEFAULT NULL, uniquecode varchar(300) DEFAULT NULL, unit varchar(300) DEFAULT NULL, created_by_user varchar(96) DEFAULT NULL, updated_by_user varchar(96) DEFAULT NULL, specimen_report varchar(96) DEFAULT NULL, eng_testmethod varchar(2000) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEF
5、AULT CHARSET=utf8;2、执行insert 语句insert语句脚本(共99849条记录)如下:source /root/test.sql3、inser所消耗的时间执行test.sql脚本中的99849条insert语句需要执行2分钟9秒。4.2 oracle上的insert 速度 1、创建表 create table LAB_SPECIMEN_REPORT_DETAIL( ID VARCHAR2(96) not null, ENGLONGNAME VARCHAR2(600), ENGNAME VARCHAR2(600), REFMETHODSTRING VARCHAR2(300
6、0), STATUS NUMBER(10), SUBBARCODE VARCHAR2(120), TESTMETHOD VARCHAR2(300), TESTNAME VARCHAR2(600), TIP VARCHAR2(300), UNIQUECODE VARCHAR2(300), UNIT VARCHAR2(300), CREATED_BY_USER VARCHAR2(96), UPDATED_BY_USER VARCHAR2(96), SPECIMEN_REPORT VARCHAR2(96), ENG_TESTMETHOD VARCHAR2(2000 CHAR);alter table
7、 LAB_SPECIMEN_REPORT_DETAIL add primary key (ID);2、执行insert 语句insert语句脚本(共99849条记录)如下:test.sql3、insert所消耗的时间执行test.sql脚本中的99849条insert语句需要执行1分钟14秒。5 update的速度比较 5.1 mysql 上update速度(谓词走索引的情况) 1、创建索引 2、执行update语句3、update所消耗的时间执行如上语句更新了190条记录,共耗时0.08秒。5.2 Oracle 上update速度(谓词走索引的情况)1、创建索引 2、执行update语句3、
8、update所消耗的时间执行如上语句更新了190条记录,共耗时0.01秒。5.3 mysql 上update速度(谓词不走索引的情况)注意:已经删除了在SUBBARCODE上建立的索引。1、执行update语句2、update所消耗的时间执行如上语句更新了190条记录,共耗时0.32秒。5.4 Oracle 上update速度(谓词不走索引的情况)1、执行update语句2、update所消耗的时间执行如上语句更新了190条记录,共耗时0.08秒。6 delete的速度比较 6.1 mysql 上delete速度(谓词走索引的情况) 1、创建索引2、执行delete语句3、delete所消耗的
9、时间执行如上语句删除了190条记录,共耗时0.03秒。6.2 Oracle 上delete速度(谓词走索引的情况)1、创建索引 2、执行delete语句3、delete所消耗的时间执行如上语句删除了190条记录,共耗时0.02秒。6.3 mysql 上delete速度(谓词不走索引的情况)注意:已经删除了在SUBBARCODE上建立的索引。1、执行delete语句2、delete所消耗的时间执行如上语句删除了190条记录,共耗时0.31秒。6.4 Oracle 上delete速度(谓词不走索引的情况)1、执行delete语句2、delete所消耗的时间执行如上语句删除了190条记录,共耗时0.
10、09秒。7 select的速度比较 7.1 mysql 上select速度(谓词走索引的情况) 1、创建索引 2、执行select语句select * from LAB_SPECIMEN_REPORT_DETAIL t where subbarcode=710719132103 order by id;3、select所消耗的时间执行如上语句查询10条记录,共耗时0.00秒。7.2 Oracle 上delete速度(谓词走索引的情况)1、创建索引 2、执行select语句select * from LAB_SPECIMEN_REPORT_DETAIL t where subbarcode=71
11、0719132103 order by id;3、select所消耗的时间执行如上语句select 10条记录,共耗时0.28秒。7.3 mysql 上select速度(谓词不走索引的情况)注意:已经删除了在SUBBARCODE上建立的索引。1、执行select语句select * from LAB_SPECIMEN_REPORT_DETAIL t where subbarcode=710719132103 order by id;2、select所消耗的时间执行如上语句select 10条记录,共耗时0.26秒。7.4 Oracle 上select速度(谓词不走索引的情况)1、执行select语句select * from LAB_SPECIMEN_REPORT_DETAIL t where subbarcode=710719132103 order by id;2、select所消耗的时间执行如上语句select 10条记录,共耗时0.328秒。8 总结 经过在mysql和Oracle数据库中进行insert、update、delete、select的测试,在mysql上的insert、update、delete速度不及oracle快,在mysql上的select速度比oracle要快。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1