MySQL 8.4 Release Notes
18.8.2 如何创建 FEDERATED 表
要创建一个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
语句创建现有连接。
Important
当您创建本地表时,必须与远程表具有相同的字段定义。
Note
可以通过在主机上添加索引来提高 FEDERATED
表的性能。优化是因为将查询发送到远程服务器,包括了 WHERE
子句的内容,然后在本地执行。这减少了否则需要从服务器请求整个表以便于本地处理的网络流量。