Mysql
使用 InnoDB 引擎集群 MySQL
我有一個 MySQL 單伺服器設置,所有表都使用 InnoDB 引擎(因為我需要支持外鍵)。隨著響應時間越來越長,我現在認為我需要創建一個伺服器集群來應對不斷增長的數據庫負載。
是否可以使用我現有的使用 InnoDB 的數據庫創建 MySQL 伺服器集群?如果沒有,我有什麼選擇?
是和不是。
不,沒有辦法將多個核心或伺服器應用於單個 InnoDB 事務。
是的,您可以使用 InnoDB 建構集群。但它是一個 Galera(PXC 或 MariaDB)集群,這意味著多個伺服器相互複製。整體吞吐量增加,但單個查詢的響應時間不會增加。這可能有助於“載入”,但不能幫助“響應時間”。你的問題真的是兩者兼而有之嗎?
不,InnoDB 在 NDB Cluster 中不起作用。
讓我們看看您的慢查詢之一。它可能像製作複合索引或重新編寫查詢一樣簡單。或者,如果您正在做數據倉庫,創建匯總表。請提供
EXPLAIN SELECT ...
和SHOW CREATE TABLE
。有時加快最差查詢的速度會極大地幫助“載入”和“響應時間”,即使對於其他查詢也是如此。