• 技术文章 >数据库 >mysql教程

    mariadb与mysql的区别有哪些

    藏色散人藏色散人2021-12-02 15:37:02原创5846

    mariadb与mysql的区别有:1、mysql是一个关系型数据库管理系统,而MariaDB则是MySQL的一个分支;2、MariaDB是由MySQL之父开发的,其目的是完全兼容MySQL;3、XtraDB代替MySQL的InnoDB等。

    本文操作环境:Windows7系统、Mysql5.7.14版、Dell G3电脑。

    mariadb与mysql的区别有哪些?

    浅谈MySQL和MariaDB区别(mariadb和mysql的性能比较)

    mysql简介:

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    MariaDB介绍:

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

    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版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。

    在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

    MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。

    这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。

    在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora 19中的以MariaDB取代MySQL

    MYSQL 相信大家都很清楚是什么了。

    那么mariadb到底是什么呢?

    MariaDB数据库管理系统是MySQL的一个分支。是由MySQL之父Michael开发的。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险

    那么两者之间的性能谁好谁差呢,我们现在就在同一台电脑上简单的测试下

    我的笔记本环境是

    cpu :I3

    硬盘:普通机械硬盘(5400转)

    内存:8G

    系统:win10 64位

    MYSQL版本:5.6

    mariaDB版本:10.3

    下面分别在MYSQL 和mariaDB 建库建表 插入千万级的测试数据 ID为主键,数据库引擎:MyISAM

    查询语句均在Navicat下运行

    1.先查询九百万条后的20条数据 就是下面这个语句

    select * from usertb limit 9000000,20

    mysql 的处理时间是3.09秒

    mariaDB的运行时间是1.89秒

    2.查询九百万条后的20条数据 根据ID倒序 就是下面这个语句

    select * from usertb order by id desc limit 9000000,20

    MYSQL用时121.26秒

    MariaDB用时75.73秒

    3.最后我们换条SQL语句来测试。用下面的SQL语句(MYSQL 常用的优化分页的语句):

    select * from usertb where id<(select id from usertb order by id desc limit 9000000,1) order by id desc limit 20

    MYSQL 用时3.13秒

    MariaDB却用了70秒

    为什么呢?个人猜想也是不是MariaDB的子查询没有MYSQL的快?于是再次测试

    将上面的语句拆分成两条sql语句在MariaDB里执行查询如下:

    select id from usertb order by id desc limit 9000000,1

    得出ID是1000000

    再查询 select * from usertb where id<1000000 order by id desc limit 20

    发现两条SQL语句一起执行的时间也是3秒左右

    总结:两个数据库各有优势 找到自己合适的优化方式就好,咱是小白一个 不会优化 以上是无聊时的测试。

    推荐学习:《mysql视频教程

    以上就是mariadb与mysql的区别有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mariadb mysql
    上一篇:mysql中limit的用法是什么 下一篇:mysql怎么删除唯一约束
    千万级数据并发解决方案

    相关文章推荐

    • 怎么查看mysql错误日志• 怎么修改mysql最大连接数• mysql怎么查询数据表是否存在• mysql日期转换函数有哪些
    1/1

    PHP中文网