通过将TEXT字段拆分为CHAR(255)类型的块来使MySQL表FIXED

时间:2013-07-17 20:36:02

标签: mysql optimization split

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

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

有人练过这种技巧吗?值得吗?

1 个答案:

答案 0 :(得分:0)

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

我见过的示例保险/收藏应用程序中的自由格式文本条目(备注,备注,联系人日志)等,其中打印报告上的格式很重要或者需要避免帖子中的任何混淆处理以涉及多个平台的格式。 (\ r \ n vs \ n和EBCDIC垂直标签)。

因此通常不用于空间/性能/恢复目的。

如果该行“主要”是该字段,则可以选择为每个段创建一个行,并为该键添加一个低范围序列号。

通过这种方式,对于短值,您只有1行,而对于长值,您只有8行。考虑您可能的统计数据

警告:

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

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