要创建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=latin1;
要创建要联合到远程表的本地表,有两个选项可用。您可以创建本地表并指定连接字符串(包含服务器名称、登录名、密码)以使用 连接到远程表CONNECTION
,或者您可以使用之前使用该
CREATE SERVER
语句创建的现有连接。
重要的
创建本地表时,它必须 具有与远程表相同的字段定义。
笔记
您可以
FEDERATED
通过向主机上的表添加索引来提高表的性能。发生优化是因为发送到远程服务器的查询包含
WHERE
子句的内容,并发送到远程服务器并随后在本地执行。这减少了网络流量,否则会从服务器请求整个表以进行本地处理。