本文操作环境:Windows7系统、Mysql5.7.14版、DellG3电脑。
浅谈MySQL和MariaDB区别(mariadb和mysql的性能比较)
mysql简介:
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MariaDB介绍:
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。
MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。
MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL5.6版的功能和自行开发的新功能。
在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。
MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。
这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。
在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora19中的以MariaDB取代MySQL
MYSQL相信大家都很清楚是什么了。
那么mariadb到底是什么呢?
MariaDB数据库管理系统是MySQL的一个分支。是由MySQL之父Michael开发的。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险
那么两者之间的性能谁好谁差呢,我们现在就在同一台电脑上简单的测试下
我的笔记本环境是
cpu:I3
硬盘:普通机械硬盘(5400转)
内存:8G
系统:win1064位
MYSQL版本:5.6
mariaDB版本:10.3
下面分别在MYSQL和mariaDB建库建表插入千万级的测试数据ID为主键,数据库引擎:MyISAM
查询语句均在Navicat下运行
1.先查询九百万条后的20条数据就是下面这个语句
select*fromusertblimit9000000,20
2.查询九百万条后的20条数据根据ID倒序就是下面这个语句
select*fromusertborderbyiddesclimit9000000,20
MYSQL用时121.26秒
MariaDB用时75.73秒
3.最后我们换条SQL语句来测试。用下面的SQL语句(MYSQL常用的优化分页的语句):
select*fromusertbwhereid
MYSQL用时3.13秒
MariaDB却用了70秒
为什么呢?个人猜想也是不是MariaDB的子查询没有MYSQL的快?于是再次测试
将上面的语句拆分成两条sql语句在MariaDB里执行查询如下:
selectidfromusertborderbyiddesclimit9000000,1
得出ID是1000000
再查询select*fromusertbwhereid
总结:两个数据库各有优势找到自己合适的优化方式就好,咱是小白一个不会优化以上是无聊时的测试。