与动态表相比,固定MySQL表具有众所周知的性能优势。
有一个只有一个description文本字段的表tags。一个想法是将这个字段拆分为4-8个CHAR(255)字段。对于INSERT/UPDATE查询,只需将描述分成块(PHP函数str_split())。这将使表固定。
有没有人练习过这种技术?值得吗?
发布于 2014-06-07 06:43:58
好吧,这已经完成了,但是在完成它的地方,我只是因为历史原因才这么做的,比如特定的客户端-服务器模型需要它,或者对于遗留报告来说,这些部分是布局中的实际字段。
我已经看到的例子中,保险/收款应用程序中的自由格式文本条目(备注、备注、联系日志)等,其中打印报告的格式很重要,或者需要避免后期处理中的任何混淆,以便在涉及多个平台的情况下处理格式。(\r\n vs \n和EBCDIC垂直选项卡)。
因此,通常不是出于空间/性能/恢复的目的。
如果行“主要”是这个字段,另一种方法是为每个段创建一行,并向键添加一个小范围的序列号。
这样,短值只有1行,长值最多有8行。考虑您可能的统计数据。
注意事项:
要时刻注意MySQL索引会删除尾随空格。如果在索引中使用,则连接这些应该考虑到这一点。
这不是一个建议,但“标记”听起来像是全文索引的单个varchar字段的候选字段。如果数据如此重要,以至于需要取证恢复,那么标准化模型以将标签存储在单独的表中可能是另一种方法。
https://stackoverflow.com/questions/17709712
复制相似问题