mysql - 更新多行 VS 单行 + 更频繁

标签 mysql sql database

我正在研究基于事件的地理访问者跟踪脚本。

哪个更快且资源友好?

  1. 每秒更新 250 条不同的记录。

    更新表 set views=views+1 where country='US' and campaign='1'

  2. 每秒更新 1 条记录 250 次。

    update table set data='US:11243;UK:2223...(另外 200 个国家/地区)' where campaign='1'

表格中的事件不超过 50 个。

编辑:两个选项中的查询数量没有区别。国家/地区、广告系列字段已编入索引。

最佳答案

无论哪种方式,您每秒运行 250 个 UPDATE 语句。

您只影响 1/250 的数据的第一种方式,您的数据被规范化并聚合查询,例如获取 View 的全局 View 计数,很简单。您还可以按国家/地区和查看次数轻松过滤查询。

第二种方式是一团糟..想都别想。

关于mysql - 更新多行 VS 单行 + 更频繁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25138937/

相关文章:

sql - 在 plpgsql 中动态地写喜欢和不喜欢

mysql - ReactJS,如何编辑文本区域并在显示数据库中的文本区域时更新值?

mysql - 如何在没有子查询的情况下获取每行日期字段与最近的前一个日期行的 TIMEDIFF?

mysql - qt5.1.1 mysql ubuntu QMYSQL驱动未加载

sql - 如果值为null则Postgresql忽略过滤条件

asp.net - Cassandra 和 asp.net (C#)

reactjs - 我应该将用户数据存储到数据库或Redis缓存的哪里

如果超过 24 小时,Mysql "Time"类型在 Rails 中给出 "ArgumentError: argument out of range"

php - Pdo 未定义索引和无效参数号

mysql - 删除 SQL 表中的重复条目?