MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支,主要由開源社區(qū)在維護,采用GPL授權(quán)許可。開發(fā)這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風(fēng)險,因此社區(qū)采用分支的方式來避開這個風(fēng)險。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。
MariaDB由MySQL的創(chuàng)始人麥克爾·維德紐斯主導(dǎo)開發(fā),他早前曾以10億美元的價格,將自己創(chuàng)建的公司MySQL賣給了SUN,此后,隨著SUN被甲骨文收購,MySQL的所有權(quán)也落入Oracle的手中。
MariaDB名稱來自麥克爾·維德紐斯的女兒瑪麗亞(英語:Maria)的名字。
MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人會從MySQL5.5中了解到MariaDB的所有功能。從2012年11月12日起發(fā)布的10.0.0版開始,不再依照MySQL的版號。10.0.x版以5.5版為基礎(chǔ),加上移植自MySQL 5.6版的功能和自行開發(fā)的新功能。
在存儲引擎方面,10.0.9版起使用XtraDB(名稱代號為Aria)來代替MySQL的InnoDB。
MariaDB的API和協(xié)議兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和進度報告。
這意味著,所有使用MySQL的連接器、程序庫和應(yīng)用程序也將可以在MariaDB下工作。
在此基礎(chǔ)上,由于擔(dān)心甲骨文MySQL的一個更加封閉的軟件項目,F(xiàn)edora的計劃在Fedora 19中的以MariaDB取代MySQL
MYSQL 相信大家都很清楚是什么了。那么mariadb是什么呢?
MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支。是由MySQL之父Michael開發(fā)的。開發(fā)這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風(fēng)險,因此社區(qū)采用分支的方式來避開這個風(fēng)險
那么兩者之間的性能誰好誰差呢,我們現(xiàn)在就在同一臺電腦上簡單的測試下
我的筆記本環(huán)境是
cpu :I3
硬盤:普通機械硬盤(5400轉(zhuǎn))
內(nèi)存:8G
系統(tǒng):win10 64位
MYSQL版本:5.6
mariaDB版本:10.3
下面分別在MYSQL 和mariaDB 建庫建表 插入千萬級的測試數(shù)據(jù) ID為主鍵,數(shù)據(jù)庫引擎:MyISAM
查詢語句均在Navicat下運行
1.先查詢九百萬條后的20條數(shù)據(jù) 就是下面這個語句
select * from usertb limit 9000000,20
mysql 的處理時間是3.09秒
mariaDB的運行時間是1.89秒
2.查詢九百萬條后的20條數(shù)據(jù) 根據(jù)ID倒序 就是下面這個語句
select * from usertb order by id desc limit 9000000,20
MYSQL用時121.26秒
MariaDB用時75.73秒
3.最后我們換條SQL語句來測試。用下面的SQL語句(MYSQL 常用的優(yōu)化分頁的語句):
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里執(zhí)行查詢?nèi)缦拢?/p>
select id from usertb order by id desc limit 9000000,1
得出ID是1000000
再查詢 select * from usertb where id1000000 order by id desc limit 20
發(fā)現(xiàn)兩條SQL語句一起執(zhí)行的時間也是3秒左右
總結(jié):兩個數(shù)據(jù)庫各有優(yōu)勢 找到自己合適的優(yōu)化方式就好,咱是小白一個 不會優(yōu)化 以上是無聊時的測試。
您可能感興趣的文章:- Docker同時安裝MySQL和MariaDB的方法步驟
- Docker實現(xiàn)Mariadb分庫分表及讀寫分離功能
- 在docker中運行mariadb程序的方法
- docker之創(chuàng)建MariaDB鏡像的方法
- pycharm遠程連接vagrant虛擬機中mariadb數(shù)據(jù)庫
- 詳談MySQL和MariaDB區(qū)別與性能全面對比
- 詳解CentOS7 安裝 MariaDB 10.2.4的方法
- Linux下的 mariadb 使用 root 用戶啟動方式(推薦)
- MySQL/MariaDB的Root密碼重置教程
- 基于docker安裝mariadb配置過程解析