2010-03-01 54 views
0

我有表格,我跟踪有关网站使用情况的各种统计数据。每周一次,我计划使用这些统计数据和来自其他表格的信息计算各种关键指标以供多个报告使用。这是为了不在每次访问报告时计算复杂的数据。这些指标将存储在称为“指标”的单独表格中。MySQL:如何处理定期大量的插入/更新?

有约。 50个指标为220个国家(即每个国家分别设置50个指标)。鉴于这些数字每周计算,我得到的令人难以置信的数字:

id PK | type (TINYINT) | country_id (TINYINT) | year | week | value 

50×220 = 11000插入/每星期

我的指标表是通过以下方式结构更新

...在那里我基本上每个国家插入/更新50行不同的“类型”。

我想问的是:我在这里完全错了吗?我可以更好地将国家设置为列而不是行(220列...)?或者也许这些指标会失去一些灵活性?通常如何处理如此大量的插入/更新?

提前感谢您的时间。

结论:看起来这很清楚,谢谢所有的贡献。

+1

每周11k?那是早餐! :) – Diadistis 2010-03-01 02:06:09

+1

11,000插入/周是没有什么可担心的。人们经常将10万甚至数十亿行放入表格中。一旦你开始获得真正庞大的数据集,你就必须更加小心数据库的设置,某些类型的连接变得不切实际,等等。但在一个世纪左右,这不太可能成为你的问题。 – 2010-03-01 02:06:41

+0

@both above ....所以我不需要担心我的应用程序在停止时会停止工作? (我是n00b) – Tom 2010-03-01 02:07:18

回答

1

虽然我不知道你的具体应用,但这应该不会有问题。插入和更新不应该是表锁定。我怀疑你的用户甚至会注意到。

作为比较,在负载下,我的MySQL服务器峰值接近每秒3.5k查询。

通常情况下,您会想要在低使用期间运行维护脚本。无论如何.r