Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 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 子句的内容,然后在本地执行。这减少了否则需要从服务器请求整个表以便于本地处理的网络流量。