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