15.8.2 如何创建联合 table
要创建一个FEDERATED
table,您应该遵循以下步骤:
-
在远程服务器上创建 table。另外,也可以使用显示创建 table语句记录现有 table 的 table 定义。
-
使用相同的 table 定义在本地服务器上创建 table,但是添加将本地 table 链接到远程 table 的连接信息。
例如,您可以在远程服务器上创建下 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;
要创建将联合到远程 table 的本地 table,有两个选项可用。您可以使用CONNECTION
创建本地 table 并指定用于连接到远程 table 的连接字符串(包含服务器名称,登录名,密码),也可以使用以前使用CREATE SERVER创建的现有连接。声明。
Important
创建本地 table 时,它必须具有与远程 table 相同的字段定义。
Note
通过将索引添加到主机上的 table,可以提高FEDERATED
table 的性能。之所以会进行优化,是因为发送到远程服务器的查询将包含WHERE
子句的内容,并将发送到远程服务器并随后在本地执行。这样可以减少网络流量,否则网络流量会从服务器请求整个 table 进行本地处理。