相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 41.2 mb
PDF (A4)- 41.3 mb
PDF (RPM)- 39.5 mb
HTML下载(TGZ)- 9.3 mb
HTML下载(Zip)- 9.3 mb
HTML下载(RPM)- 7.8 mb
手册(TGZ)- 260.6 kb
手册(Zip)- 371.8 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

16.8.3 FEDERATED存储引擎笔记和技巧

的时候应该注意以下几点联邦存储引擎:

  • 联邦表可以复制到其他副本,但必须确保副本服务器能够使用在连接对象中的行mysql.servers表)连接到远程服务器。

的特性联邦存储引擎支持和不支持:

  • 远程服务器必须是MySQL服务器。

  • a的远程表联邦表指向必须方法访问表之前存在联邦表格

  • 这是有可能的联邦表指向另一个表,但必须注意不要创建循环。

  • 一个联邦Table不支持通常意义上的索引;因为对表数据的访问是远程处理的,所以实际上是远程表使用了索引。这意味着,对于不能使用任何索引因而需要全表扫描的查询,服务器将从远程表获取所有行并在本地筛选它们。不管发生什么在哪里限制与this连用选择声明;这些子句在本地应用于返回的行。

    因此,未能使用索引的查询可能导致性能差和网络过载。此外,由于返回的行必须存储在内存中,这样的查询还可能导致本地服务器交换,甚至挂起。

  • 创建联邦表中自定义的索引等价MyISAM或者可能不支持其他表。例如,创建一个联邦如果表在任意上使用索引前缀,则表失败VARCHAR文本列。以下定义使用MyISAM是有效的:

    创建表' t1 ' (' a ' varchar(100),唯一键(' a ' (30))) = myisam;

    此示例中的密钥前缀与联邦引擎,等价语句失败:

    创建表' t1 ' (' a ' varchar(100),唯一键(' a '(30))) =联邦连接=' mysql://127.0.0.1:3306/ test / t1 ';

    如果可能,在远程服务器和本地服务器上创建表时,应该尝试分离列和索引定义,以避免这些索引问题。

  • 在内部,实现使用选择插入更新,删除,但不是处理程序

  • 联邦存储引擎支持选择插入更新删除截断表、索引。它不支持ALTER TABLE,或直接影响表结构的任何数据定义语言语句,而不是删除表.当前实现不使用预处理语句。

  • 联邦接受插入……重复密钥更新语句,但如果发生重复键违反,则语句失败并出现错误。

  • 不支持事务。

  • 联邦执行大容量插入处理,以便以批处理的方式将多个行发送到远程表,从而提高性能。另外,如果远程表是事务性的,它允许远程存储引擎在发生错误时正确地执行语句回滚。该功能有以下局限性:

    • 插入的大小不能超过服务器之间的最大包大小。如果插入超过这个大小,它就会被分解成多个包,就会出现回滚问题。

    • 不发生大容量插入处理插入……重复密钥更新

  • 没有办法联邦引擎以了解远程表是否已更改。这样做的原因是,这个表必须像一个数据文件一样工作,它永远不会被数据库系统以外的任何东西写入。如果远程数据库有任何更改,则可能破坏本地表中数据的完整性。

  • 当使用连接字符串,不能在密码中使用“@”字符。方法可以绕过此限制创建服务器语句来创建服务器连接。

  • insert_id而且时间戳选项不会传播到数据提供程序。

  • 任何删除表针对联邦表只删除本地表,而不删除远程表。

  • 不支持用户定义分区联邦表。