在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MariaDB有哪些比MySQL厲害的地方?

Linux愛好者 ? 來源:CSDN ? 作者:swanmy ? 2021-03-11 16:21 ? 次閱讀

近年來,不少程序員在吹捧 MariaDB,拋棄 MySQL。本文總結了一些 MariaDB 強過 MySQL 的地方,分享給大家!

11861ccc-7e2d-11eb-8b86-12bb97331649.jpg

MySQL 的發展史

MySQL 的歷史可以追溯到 1979 年,它的創始人叫作 Michael Widenius,他在開發一個報表工具的時候,設計了一套 API

后來他的客戶要求他的 API 支持 sql 語句,他直接借助于 mSQL(當時比較牛)的代碼,將它集成到自己的存儲引擎中。但是他總是感覺不滿意,萌生了要自己做一套數據庫的想法。

一到 1996 年,MySQL 1.0 發布,僅僅過了幾個月的時間,1996 年 10 月 MySQL 3.11.1 當時發布了 Solaris 的版本,一個月后,Linux 的版本誕生,從那時候開始,MySQL 慢慢的被人所接受。

1999 年,Michael Widenius 成立了 MySQL AB 公司,MySQL 由個人開發轉變為團隊開發,2000 年使用 GPL 協議開源。

2001 年,MySQL 生命中的大事發生了,那就是存儲引擎 InnoDB 的誕生!直到現在,MySQL 可以選擇的存儲引擎,InnoDB 依然是 No.1。

2008 年 1 月,MySQL AB 公司被 Sun 公司以 10 億美金收購,MySQL 數據庫進入 Sun 時代。

Sun 為 MySQL 的發展提供了絕佳的環境,2008 年 11 月,MySQL 5.1 發布,MySQL 成為了最受歡迎的小型數據庫。

在此之前,Oracle 在 2005 年就收購了 InnoDB,因此,InnoDB 一直以來都只能作為第三方插件供用戶選擇。

2009 年 4 月,Oracle 公司以 74 億美元收購 Sun 公司,MySQL 也隨之進入 Oracle 時代。

2010 年 12 月,MySQL 5.5 發布,Oracle 終于把 InnoDB 做成了 MySQL 默認的存儲引擎,MySQL 從此進入了輝煌時代。

然而,從那之后,Oracle 對 MySQL 的態度漸漸發生了變化,Oracle 雖然宣稱 MySQL 依然遵守 GPL 協議,但卻暗地里把開發人員全部換成了 Oracle 自己人。

開源社區再也影響不了 MySQL 發展的腳步,真正有心做貢獻的人也被拒之門外,MySQL 隨時都有閉源的可能……

橫空出世的 MariaDB 是什么鬼

先提一下 MySQL 名字的由來吧,Michael Widenius 的女兒的簡稱就是 MY,Michael Widenius大 概也是把 MySQL 當成自己的女兒吧。

看著自己辛苦養大的 MySQL 被 Oracle 搞成這樣,Michael Widenius 非常失望,決定在 MySQL 走向閉源前,將 MySQL 進行分支化,依然是使用了自己女兒的名字 MariaDB(瑪莉亞 DB)。

MariaDB 數據庫管理系統是 MySQL 的一個分支,主要由開源社區在維護,采用 GPL 授權許可 MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能輕松成為 MySQL 的代替品。

在存儲引擎方面,使用 XtraDB 來代替 MySQL 的 InnoDB。MariaDB 由 MySQL 的創始人 Michael Widenius 主導,由開源社區的大神們進行開發。

因此,大家都認為,MariaDB 擁有比 MySQL 更純正的 MySQL 血脈。最初的版本更新與 MySQL 同步,相對 MySQL5 以后的版本,MariaDB 也有相應的 5.1~5.5 的版本。

后來 MariaDB 終于擺脫了 MySQL,它的版本號直接從 10.0 開始,以自己的步伐進行開發,當然,還是可以對 MySQL 完全兼容。現在,MariaDB 的數據特性、性能等都超越了 MySQL。

測試環境

本性能測試環境如下:

CPU:I7

內存:8G

OS:Windows 10 64位

硬盤類型:SSD

MySQL:8.0.19

MariaDB:10.4.12

分別在 MySQl 和 MariaDB 中創建名為 performance 的數據庫,并創建 log 表,都使用 innodb 作為數據庫引擎:

CREATE TABLE `performance`。`log`( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `time` DATETIME NOT NULL, `level` ENUM(‘info’,‘debug’,‘error’) NOT NULL, `message` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8;

插入性能

單條插入

單條插入的測試結果如下表所示:

128aedb4-7e2d-11eb-8b86-12bb97331649.png

MariaDB 單條數據插入的性能比 MySQL 強 1 倍左右。

批量插入

批量插入的測試結果如下表所示:

12d40562-7e2d-11eb-8b86-12bb97331649.png

上面的測試結果,MariaDB 并沒有絕對優勢,甚至有時還比 MySQL 慢,但平均水平還是高于 MySQL。

查詢性能

經過了多次插入測試,我兩個數據庫里插入了很多數據,此時用下面的 sql 查詢表中的數據量:

SELECT COUNT(0) FROM LOG

結果兩個表都是 6785000 條,MariaDB 用時 3.065 秒,MySQL 用時 6.404 秒。

此時我機器的內存用了 6 個 G,MariaDB 用了 474284 K,MySQL 只用了 66848 K。看來 MariaDB 快是犧牲了空間換取的。

無索引

先查詢一下 time 字段的最大值和最小值:

SELECT MAX(TIME), MIN(TIME) FROM LOG

MariaDB 用時 6.333 秒,MySQL 用時 8.159 秒。接下來測試過濾 time 字段在 0 點到 1 點之間的數據,并對 time 字段排序:

SELECT * FROM LOG WHERE TIME 》 ‘2020-02-04 0000’ AND TIME 《 ‘2020-02-04 0100’ ORDER BY TIME

MariaDB 用時 6.996 秒,MySQL 用時 10.193 秒。然后測試查詢 level 字符是 info 的數據:

SELECT * FROM LOG WHERE LEVEL = ‘info’

MariaDB 用時 0.006 秒,MySQL 用時 0.049 秒。最后測試查詢 message 字段值為 debug 的數據:

SELECT * FROM LOG WHERE MESSAGE = ‘debug’ MariaDB 用時 0.003 秒,MySQL 用時 0.004 秒。

索引

分別對兩個數據庫的字段創建索引:

ALTER TABLE `performance`。`log` ADD INDEX `time` (`time`), ADD INDEX `level` (`level`), ADD FULLTEXT INDEX `message` (`message`);

MariaDB 用時 2 分 47 秒,MySQL 用時 3 分 48 秒。再用上面的測試項目進行測試,結果如下表所示:

130cedb4-7e2d-11eb-8b86-12bb97331649.png

有些結果添加了索引后還不如不加索引時理想,說明實際使用時并不是每個字段都需要添加索引的。

總結

在上面的測試中 MariaDB 的性能的確優于 MySQL,看來各大廠商放棄 MySQL 擁抱 MariaDB 還是非常有道理的。

原文標題:吊打MySQL,MariaDB到底強在哪?

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MySQL
    +關注

    關注

    1

    文章

    821

    瀏覽量

    26651

原文標題:吊打MySQL,MariaDB到底強在哪?

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    適用于MySQLMariaDB的.NET連接器

    支持 ORM 的適用于 MySQLMariaDB 的 .NET 連接器 dotConnect for MySQL 是一種高性能 ADO.NET 數據提供程序,可在開發 MySQL
    的頭像 發表于 01-16 14:17 ?40次閱讀
    適用于<b class='flag-5'>MySQL</b>和<b class='flag-5'>MariaDB</b>的.NET連接器

    適用于MySQL的ODBC驅動程序:可與多個第三方工具兼容的數據連接器

    MariaDB、Amazon RDS for MySQL 和 Amazon Aurora 數據庫。Devart ODBC 驅動程序完全支持標準 ODBC API 函數和數據類型,并支持從任何地方實時訪問
    的頭像 發表于 01-16 10:12 ?17次閱讀

    MySQL數據庫的安裝

    MySQL數據庫的安裝 【一】各種數據庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發表于 01-14 11:25 ?79次閱讀
    <b class='flag-5'>MySQL</b>數據庫的安裝

    windows服務器備份mysql腳本

    一、linux備份 使用python腳本,要求python3和mysqldump #! /usr/bin/python36# -*- coding: utf-8 -*-import
    的頭像 發表于 01-02 09:14 ?83次閱讀

    云服務器 Flexus X 實例 MySQL 應用加速測試

    企業節,Flexus X 實例的優惠活動正火熱進行,對于算力性能需求及自建 MySQL、Redis、Nginx 等性能要求的用戶
    的頭像 發表于 12-24 12:19 ?191次閱讀
    云服務器 Flexus X 實例 <b class='flag-5'>MySQL</b> 應用加速測試

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名
    的頭像 發表于 11-18 10:16 ?241次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發表于 11-11 11:10 ?301次閱讀

    MySQL編碼機制原理

    前言 一位讀者在本地部署 MySQL 測試環境時碰到一個問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會對 MySQL 的編碼機制最本質的了解,本文的目錄結構如下 讀者問題簡介
    的頭像 發表于 11-09 11:01 ?264次閱讀

    基于NFS實現WordPress

    采用yum方式進行安裝httpd、MariaDB、php、php-mysql,php-mysql用來進行php和MariaDB數據庫的連接。
    的頭像 發表于 10-28 13:49 ?218次閱讀

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了 MySQL 數據庫架構中所有差異的全面視圖。
    的頭像 發表于 10-28 09:41 ?231次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構比較

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發表于 08-05 15:27 ?423次閱讀
    <b class='flag-5'>MySQL</b>知識點匯總

    在AvaotaA1全志T527開發板上使用AvaotaOS 部署 LNMP 服務

    ,會出現如下提示: 目前提供了較多的MySQLMariaDB版本和不安裝數據庫的選項,需要 注意的是MySQL 5.6,5.7及MariaDB 10如果是編譯安裝必須在1G以上內存
    發表于 07-05 10:01

    MySQL的整體邏輯架構

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構的關鍵優勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解MySQL的核心
    的頭像 發表于 04-30 11:14 ?474次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構

    MySQL忘記root密碼解決方案

    mysql登錄密碼為password()算法加密,解密成本太高,以下為通用方案; 原理:mysql提供了特殊啟動方式,即跳過權限表驗證,啟動后,登錄不需要提供密碼; 登錄后,即可修改mysql數據庫的user表,重置
    的頭像 發表于 04-23 16:08 ?746次閱讀

    使用cpolar內網穿透本地MariaDB數據庫

    本篇教程將使用cpolar內網穿透本地MariaDB數據庫,并實現在外公網環境下使用navicat圖形化工具遠程連接本地內網的MariaDB數據庫。
    的頭像 發表于 01-22 10:28 ?649次閱讀
    使用cpolar內網穿透本地<b class='flag-5'>MariaDB</b>數據庫
    主站蜘蛛池模板: 免费在线看黄色| xxxx69日本hd| 久久综合图片| 色在线国产| 成人影院在线观看| 午夜特片网| 不卡无毒免费毛片视频观看| 美女一级a毛片免费观看| 四虎精品成人免费观看| 永久免费mv网站入口| 日本一区二区不卡视频| 91在线免费看| 亚欧洲乱码专区视频| 欧美性黑人极品1819hd| 国产视频国产| 韩国午夜精品理论片西瓜| 神马午夜限制| 日日干夜夜草| 丰满放荡岳乱妇91www| 九色视频网| 国产真实野战在线视频| 欧美性区| 高h污快穿文汁水四溅| 99久久精品费精品国产| 综合精品| 亚洲综合春色另类久久| 亚洲欧美精品成人久久91| 伊人毛片| 日韩毛片免费视频一级特黄| 日本经典在线三级视频| 欧美色欧美亚洲高清在线观看| 色天使视频| 日本人zzzwww| 黄视频在线播放| 国内免费视频成人精品| 国产精品久久久久网站| 丁香婷婷色综合| 337p亚洲精品色噜噜狠狠| 亚洲九九香蕉| 视频在线观看免费播放www| 久久九九国产|