MySQL 優化是否也適用於 MariaDB?
我是一名開發人員,即將開始一個新項目,其中數據庫性能至關重要。後端的目前候選者是 MariaDB。我之前曾在較小的項目中使用過 MySQL 和 MariaDB,但不可否認的是,血腥優化領域對我來說還是很新的。
為了為項目做準備而不是將其推向地面,我想先了解一下數據庫性能優化。我想知道我(或我的雇主)是否買了一本關於優化 MySQL 性能的書,它是否同樣適用於 MariaDB?
我的直覺告訴我,大多數 MySQL 優化也適用於 MariaDB,因為它們更改了相當大部分的程式碼庫,但是為了避免通過購買我們不需要的書而浪費金錢,我想澄清一下這。反之亦然,如果我們嘗試優化舊產品,那麼一本只適用於 MariaDB 的書對我們來說毫無用處。不幸的是——據我所知——還沒有專門介紹 MariaDB 性能的書籍。這成立嗎?
是的,MySQL 5.5 中的所有基本優化都適用於 MariaDB 5.5。
但是,從真正的分支 MariaDB 10 開始,並非 5.6 中的所有改進都在 MariaDB 程式碼庫中,或者,MariaDB 具有一些獨有的功能(Hash JOINS)。目前,這些並沒有太大的不同,將來可能會改變。對於一本書,大部分優化都與基本索引有關,它可能不是很相關。
您可以隨時線上查看最新的改進 - 部落格、維基。這是我為最新的 MySQL 5.6 查詢優化技術創建的展示文稿。
查看此圖像以獲得視覺表示(白色區域僅適用於 MariaDB)。僅 5.6- 和 5.7- 未表示:
看看這裡- 這是給你(我們)MariaDB 的人推薦的書單。正如您將看到的,許多書籍(也)是關於 MySQL 的。在這裡查看MariaDB 和 MySQL 之間的區別。據我了解,MariaDB 正在逐漸遠離 MySQL,並且不會長期保持即插即用兼容。由於大部分差異,它們似乎是 MariaDB 中的添加(儲存引擎等)。話雖如此,(恕我直言)一個熟練使用 MySQL 的開發人員會開始在 MariaDB 上遇到很多困難。
開源/自由軟體運動的好處在於,網路上總是有可用的參考資料——以 Percona 的網站和 mysqlperformance 部落格(恕我直言)、SkySQL 和 MariaDB 自己的(.org 和 .com)網站為例參考。當然還有儲存引擎網站。
總的來說,我不認為尋找有關 MariaDB 的材料是一個問題。你住在柏林——只要 250 歐元,你就可以擁有一個不錯的 MySQL/MariaDB 參考庫——開發人員在柏林的時間/小時是多少?
告訴你的雇主在教育資源上投入少量資金——它會得到很多倍的回報(易於開發/沒有犯錯誤/更好,更滿意的員工會覺得他們的時間沒有被浪費)。