MySQL 8.3 Release Notes
要创建 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
子句的内容,并在远程服务器上执行。这减少了从服务器请求整个表的网络流量,以便在本地处理。