首页 > 解决方案 > 在 MySQL 中,执行 5 个字段的插入和执行 30 个字段的插入有什么性能差异?

问题描述

假设我在 MySQL 中有一个包含 50 列的表,并且我不断地插入寄存器并更新它们。

通常我在这个表中插入大约 30 或 40 个字段的寄存器,但是这个表开始有太多的信息,当有很多人在它上面工作时,我的系统变得有点慢。

所以,我有了将所有内容放在 json 中的一个字段中的想法,然后,当活动停止时,让机器人读取每个寄存器中的每个 json 数据并更新所有字段,这样性能就不会在高活动时间受到影响.

这能行吗?或者 5 个字段的插入与 30 个字段相同?谢谢!

标签: mysqljsonperformanceinsertfield

解决方案


你做过任何基准测试吗?如果有索引使用您要延迟设置的任何字段,那会有所不同,但可能使所有新行都具有 null 或这些列的默认值可能会使情况变得更糟,而不是更好。如果不涉及索引,我不知道您是否会看到任何显着差异,也许是否涉及 blob 或文本字段。

听起来您确实需要立即进行插入,但只有部分数据对于保持最新至关重要。如果是这种情况,最好只为关键数据创建一个表,并将其余数据用于详细表中的每一行。


推荐阅读