0

FIXED MySQL 表比 DYNAMIC 表具有众所周知的性能优势。

有一个表tags只有一个descriptionTEXT 字段。一个想法是将此字段拆分为 4-8 个 CHAR(255) 字段。对于 INSERT/UPDATE 查询,只需将描述分成块(PHP 函数str_split())。这将使表固定。

有人练习过这种技术吗?这值得么?

4

1 回答 1

0

好的,这已经完成了,但是我只看到它是出于历史原因完成的,例如需要它的特定客户端-服务器模型,或者对于其中段是布局中事实上的字段的遗留报告。

我看到的示例在保险/收款应用程序等中的自由格式文本条目(备注、注释、联系日志)中,打印报告的格式很重要,或者需要避免在后期处理中出现任何混淆以穿着涉及多个平台的格式。(\r\n 与 \n 和 EBCDIC 垂直制表符)。

所以通常不用于空间/性能/恢复目的。

如果该行“主要”是该字段,则另一种方法是为每个段创建一行并将低范围的序列号添加到键中。

这样,您将只有 1 行用于短值,最多 8 行用于长值。考虑您可能的统计数据。

注意事项:

始终敏锐地意识到 MySQL 索引丢弃尾随空格。如果在索引中使用,连接这些应该考虑到这一点。

这不是一个建议,但“标签”听起来像是一个用于全文索引的单个 varchar 字段的候选者。如果数据如此重要以至于需要取证恢复,那么规范化模型以将标签存储在单独的表中可能是另一种方法。

于 2014-06-06T22:43:58.250 回答