[英]MyIsam MRG — best practices managing uniqueness
MRG表包含1B +行,分布在几个较小的表中。 其他观察将添加到MRG表中,这会将它们添加到最后一个基础表中。
由于某种原因,似乎有几个重复的行共享相同的主键。 我知道这是MRG表的局限性,在我们的情况下这并不是真正的问题(它只是意味着无用的冗余)。 我们认为,重复项是在系统崩溃后插入的,因此应用程序的代码无法正确地进行重新处理,该应用程序的代码会在将临时表插入存档之前从临时表中删除重复项。
话虽这么说,是否有一套最佳实践来保持唯一性而又不需要太多的处理时间?
您将始终有重复的风险。
https://dev.mysql.com/doc/refman/5.7/zh-CN/merge-storage-engine.html说:
... MERGE表无法在基础表集上强制唯一性。
不要使用MERGE表。 MERGE仅适用于MyISAM,而您不应该使用MyISAM 。
而是使用PARTITIONING 。 您可以在给定表的所有分区上实施唯一性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.