相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  如何创建 FEDERATED 表

18.8.2 如何创建 FEDERATED 表

要创建 FEDERATED 表,您应该按照以下步骤操作

  1. 在远程服务器上创建表。或者,记下现有表的表定义,可以使用 SHOW CREATE TABLE 语句。

  2. 在本地服务器上创建一个具有相同表定义的表,但要添加链接本地表和远程表的连接信息。

例如,您可以在远程服务器上创建以下表

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