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
子句的内容,并且被发送到远程服务器并在本地执行。这减少了网络流量,否则将需要从服务器请求整个表以进行本地处理。