mysql - 在 MySQL 中,执行 5 个字段的插入和执行 30 个字段的插入有什么性能差异?
问题描述
假设我在 MySQL 中有一个包含 50 列的表,并且我不断地插入寄存器并更新它们。
通常我在这个表中插入大约 30 或 40 个字段的寄存器,但是这个表开始有太多的信息,当有很多人在它上面工作时,我的系统变得有点慢。
所以,我有了将所有内容放在 json 中的一个字段中的想法,然后,当活动停止时,让机器人读取每个寄存器中的每个 json 数据并更新所有字段,这样性能就不会在高活动时间受到影响.
这能行吗?或者 5 个字段的插入与 30 个字段相同?谢谢!
解决方案
你做过任何基准测试吗?如果有索引使用您要延迟设置的任何字段,那会有所不同,但可能使所有新行都具有 null 或这些列的默认值可能会使情况变得更糟,而不是更好。如果不涉及索引,我不知道您是否会看到任何显着差异,也许是否涉及 blob 或文本字段。
听起来您确实需要立即进行插入,但只有部分数据对于保持最新至关重要。如果是这种情况,最好只为关键数据创建一个表,并将其余数据用于详细表中的每一行。
推荐阅读
- r - 变量作为for循环中的日期
- c# - 如何使 TriggerEnter 统一工作?
- postgresql - Grafana/Postgresql:如何将存储在 UTC 中的日期转换为本地时区
- c# - 如何使用控制台应用程序 C# 在访问令牌中生成链接?
- node.js - Firebase 身份验证微服务
- android - 如何使用 bundle 将数据从 Activity 传递到 Fragment
- javascript - 更改内容会影响其他元素在行中的放置
- hadoop - Phoenix-5.0.0-HBase-2.0安装问题
- java - 在 SQL 中更改数据
- javascript - 光滑的轮播在 rtl 方向上不起作用