gpt4 book ai didi

mysql - 只选择数据量大的 MySQL db 中最近更新的行

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:58 25 4
gpt4 key购买 nike

我正在使用包含多达 30000 条记录的 InnoDB 表。行经常用 stock_quantity 值更新。我需要做的是仅选择具有计划任务的最近更新的行并通过 Web 服务执行一些操作。

只是想了解哪种方法是在不影响性能的情况下做到这一点的最佳方法。我正在考虑 3 种不同的解决方案:

  1. 使用 datetime 列并在每次修改时更新其值。然后选择 date_col > NOW()-20 分钟的行。 (20 分钟是 crontab 运行的频率)
  2. 使用 bool 列并在每次修改行时将值设置为 true。然后选择 boolean_col 为 true 的行。如果执行任务,将 boolean_col 的值设置回 false。
  3. 使用第二个表来存储最近更新的列。每次更新 table_1 中的一行时,将该行复制到 table_2。然后从 table_2 中选择所有行,执行操作并截断 table_2。

无论如何,我很确定上面没有列出正确的解决方案...那么有人有什么好的建议吗?谢谢。

最佳答案

拳头,
30,000 条记录并没有那么大......

我更喜欢方法 1 并进行了一些额外的更改

  • 将日期时间列默认设置为on update current_timestamp
  • 为该列建立索引

方法二会产生冗余的写入和读取

方法 3 更糟糕,它几乎 double x double 写入和读取操作

关于mysql - 只选择数据量大的 MySQL db 中最近更新的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com