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


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