mariadb與mysql的差別有哪些

藏色散人
發布: 2021-12-02 15:37:02
原創
34439 人瀏覽過

mariadb與mysql的差別有:1、mysql是一個關係型資料庫管理系統,而MariaDB是MySQL的一個分支;2、MariaDB是由MySQL之父開發的,其目的是完全相容於MySQL ;3、XtraDB代替MySQL的InnoDB等。

mariadb與mysql的差別有哪些

本文操作環境: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!