淺談MySQL和MariaDB區(qū)別(mariadb和mysql的性能比較)
MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可。開發(fā)這個(gè)分支的原因之一是:甲骨文公司收購(gòu)了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式來避開這個(gè)風(fēng)險(xiǎn)。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。
MariaDB由MySQL的創(chuàng)始人麥克爾·維德紐斯主導(dǎo)開發(fā),他早前曾以10億美元的價(jià)格,將自己創(chuàng)建的公司MySQL賣給了SUN,此后,隨著SUN被甲骨文收購(gòu),MySQL的所有權(quán)也落入Oracle的手中。
MariaDB名稱來自麥克爾·維德紐斯的女兒瑪麗亞(英語(yǔ):Maria)的名字。
MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人會(huì)從MySQL5.5中了解到MariaDB的所有功能。從2012年11月12日起發(fā)布的10.0.0版開始,不再依照MySQL的版號(hào)。10.0.x版以5.5版為基礎(chǔ),加上移植自MySQL 5.6版的功能和自行開發(fā)的新功能。
在存儲(chǔ)引擎方面,10.0.9版起使用XtraDB(名稱代號(hào)為Aria)來代替MySQL的InnoDB。
MariaDB的API和協(xié)議兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和進(jìn)度報(bào)告。
這意味著,所有使用MySQL的連接器、程序庫(kù)和應(yīng)用程序也將可以在MariaDB下工作。
在此基礎(chǔ)上,由于擔(dān)心甲骨文MySQL的一個(gè)更加封閉的軟件項(xiàng)目,F(xiàn)edora的計(jì)劃在Fedora 19中的以MariaDB取代MySQL
MYSQL 相信大家都很清楚是什么了。那么mariadb是什么呢?
MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支。是由MySQL之父Michael開發(fā)的。開發(fā)這個(gè)分支的原因之一是:甲骨文公司收購(gòu)了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式來避開這個(gè)風(fēng)險(xiǎn)
那么兩者之間的性能誰(shuí)好誰(shuí)差呢,我們現(xiàn)在就在同一臺(tái)電腦上簡(jiǎn)單的測(cè)試下
我的筆記本環(huán)境是
cpu :I3
硬盤:普通機(jī)械硬盤(5400轉(zhuǎn))
內(nèi)存:8G
系統(tǒng):win10 64位
MYSQL版本:5.6
mariaDB版本:10.3
下面分別在MYSQL 和mariaDB 建庫(kù)建表 插入千萬(wàn)級(jí)的測(cè)試數(shù)據(jù) ID為主鍵,數(shù)據(jù)庫(kù)引擎:MyISAM

查詢語(yǔ)句均在Navicat下運(yùn)行
1.先查詢九百萬(wàn)條后的20條數(shù)據(jù) 就是下面這個(gè)語(yǔ)句
select * from usertb limit 9000000,20
mysql 的處理時(shí)間是3.09秒

mariaDB的運(yùn)行時(shí)間是1.89秒

2.查詢九百萬(wàn)條后的20條數(shù)據(jù) 根據(jù)ID倒序 就是下面這個(gè)語(yǔ)句
select * from usertb order by id desc limit 9000000,20
MYSQL用時(shí)121.26秒

MariaDB用時(shí)75.73秒

3.最后我們換條SQL語(yǔ)句來測(cè)試。用下面的SQL語(yǔ)句(MYSQL 常用的優(yōu)化分頁(yè)的語(yǔ)句):
select * from usertb where id<(select id from usertb order by id desc limit 9000000,1) order by id desc limit 20
MYSQL 用時(shí)3.13秒

MariaDB卻用了70秒

為什么呢?個(gè)人猜想也是不是MariaDB的子查詢沒有MYSQL的快?于是再次測(cè)試
將上面的語(yǔ)句拆分成兩條sql語(yǔ)句在MariaDB里執(zhí)行查詢?nèi)缦拢?/p>
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
發(fā)現(xiàn)兩條SQL語(yǔ)句一起執(zhí)行的時(shí)間也是3秒左右
總結(jié):兩個(gè)數(shù)據(jù)庫(kù)各有優(yōu)勢(shì) 找到自己合適的優(yōu)化方式就好,咱是小白一個(gè) 不會(huì)優(yōu)化 以上是無聊時(shí)的測(cè)試。
- Docker同時(shí)安裝MySQL和MariaDB的方法步驟
- Docker實(shí)現(xiàn)Mariadb分庫(kù)分表及讀寫分離功能
- 在docker中運(yùn)行mariadb程序的方法
- docker之創(chuàng)建MariaDB鏡像的方法
- pycharm遠(yuǎn)程連接vagrant虛擬機(jī)中mariadb數(shù)據(jù)庫(kù)
- 詳談MySQL和MariaDB區(qū)別與性能全面對(duì)比
- 詳解CentOS7 安裝 MariaDB 10.2.4的方法
- Linux下的 mariadb 使用 root 用戶啟動(dòng)方式(推薦)
- MySQL/MariaDB的Root密碼重置教程
- 基于docker安裝mariadb配置過程解析
相關(guān)文章
MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作總結(jié)
這篇文章主要介紹了MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫(kù)創(chuàng)建、刪除、集合、文檔等基本操作技巧,需要的朋友可以參考下2020-06-06mongodb設(shè)置后臺(tái)運(yùn)行的方法
這篇文章主要介紹了mongodb設(shè)置后臺(tái)運(yùn)行的方法,本文同時(shí)給出了關(guān)閉已在后臺(tái)運(yùn)行mongodb的方法,需要的朋友可以參考下2014-09-09如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段
這篇文章主要給大家介紹了如何去掉保存mongodb數(shù)據(jù)時(shí)出現(xiàn)的_class字段,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全
分片(sharding)是指將數(shù)據(jù)拆分,將其分散存放在不同的機(jī)器上的過程。下面這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB分片在部署與維護(hù)管理中常見事項(xiàng)的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例
今天小編就為大家分享一篇關(guān)于MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10