淺談MySQL和MariaDB區別(mariadb和mysql的效能比較)
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秒左右
總結:兩個資料庫各有優勢 找到自己合適的優化方式就好,咱是小白一個 不會優化 以上是無聊時的測試。