Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  How to Create FEDERATED Tables

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 语句创建的现有连接。

Important

当您创建本地表时,它 必须 具有与远程表相同的字段定义。

Note

您可以通过在主机上添加索引来提高 FEDERATED 表的性能。优化发生是因为查询发送到远程服务器,包括 WHERE 子句的内容,并在远程服务器上执行。这减少了从服务器请求整个表的网络流量,以便在本地处理。