合并
表格可以帮助您解决以下问题:
轻松管理一组日志表。例如,您可以将不同月份的数据放入单独的表中,用myisampack,然后创建一个
合并
表将它们作为一个整体使用。获得更快的速度。您可以根据某些条件拆分一个大型只读表,然后将各个表放在不同的磁盘上。一个
合并
以这种方式构建的表比使用单个大表要快得多。执行更有效的搜索。如果您确切地知道要查找什么,则可以只在一个基础表中搜索一些查询并使用
合并
表为他人。你甚至可以有很多不同的合并
使用重叠表集的表。进行更有效的维修。对象映射的单个小表更容易修复
合并
表比单修大表好。立即将多个表映射为一个表。一个
合并
表不需要维护自己的索引,因为它使用各个表的索引。作为一个结果,合并
表集合非常快速创建或重映射。创建索引时,仍然必须指定索引定义合并
表,即使没有创建索引。)如果您有一组表,您可以根据需要从其中创建一个大表,您可以相反地创建一个
合并
按需提供表格。这要快得多,而且节省了大量磁盘空间。超出操作系统的文件大小限制。每一个
MyISAM
表受此限制,但集合MyISAM
表不是。对象的别名或同义词
MyISAM
表通过定义合并
映射到那个表的表。这样做应该不会对性能产生真正显著的影响(只有几个间接调用和memcpy ()
调用每次读取)。
的缺点合并
表:
你只能使用相同的
MyISAM
表一个合并
表格一些
MyISAM
特性不可用合并
表。例如,您不能创建全文
上的索引合并
表。(您可以创建全文
基础上的索引MyISAM
表,但不能搜索合并
有全文搜索的表格。)如果
合并
表是非临时的,所有都是底层的MyISAM
表必须是非临时的。如果合并
表是临时的MyISAM
表可以是临时表和非临时表的任意组合。合并
表使用的文件描述符多于MyISAM
表。如果有10个客户端正在使用合并
表映射到10个表,服务器使用(10 × 10) + 10个文件描述符。(10个客户机中的每个客户机有10个数据文件描述符,以及客户机之间共享的10个索引文件描述符。)索引读取速度较慢。当您读取索引时,
合并
存储引擎需要对所有底层表进行读取,以检查哪一个表与给定的索引值最接近。要读取下一个索引值,可以合并
存储引擎需要搜索读缓冲区来找到下一个值。只有当一个索引缓冲区用完时,存储引擎才需要读取下一个索引块。这使得合并
上的索引要慢得多eq_ref
搜索,但速度并没有慢多少裁判
搜索。有关eq_ref
而且裁判
,请参阅第13.8.2节,“EXPLAIN语句”.