MySQL 8.4 發行說明
若要建立 FEDERATED
資料表,您應遵循下列步驟
在遠端伺服器上建立資料表。或者,記下現有資料表的資料表定義,可能使用
SHOW CREATE TABLE
陳述式。在本機伺服器上建立具有相同資料表定義的資料表,但要加入將本機資料表連結到遠端資料表的連線資訊。
例如,您可以在遠端伺服器上建立下列資料表
CREATE TABLE test_table (
id INT(20) NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL DEFAULT '',
other INT(20) NOT NULL DEFAULT '0',
PRIMARY KEY (id),
INDEX name (name),
INDEX other_key (other)
)
ENGINE=MyISAM
DEFAULT CHARSET=utf8mb4;
若要建立聯合到遠端資料表的本機資料表,有兩個選項可用。您可以建立本機資料表,並指定連線字串(包含伺服器名稱、登入、密碼),以使用 CONNECTION
連接到遠端資料表,或者您可以使用先前使用 CREATE SERVER
陳述式建立的現有連線。
重要事項
當您建立本機資料表時,它必須與遠端資料表具有相同的欄位定義。
注意
您可以在主機上的資料表中加入索引,以提升 FEDERATED
資料表的效能。最佳化之所以發生,是因為傳送到遠端伺服器的查詢包含 WHERE
子句的內容,且會傳送到遠端伺服器並接著在本機執行。這減少了否則會要求從伺服器取得整個資料表以進行本機處理的網路流量。