2011-10-17 69 views
1

方案:数据库保留多个频繁更新的计数器。数据库中的增量计数器字段(保存加载数据库)

update语句很简单:

UPDATE table SET count = count + 1 

然而,更新非常频繁(不需要显示更新值不断),因此,这可能是适当找到一种方法在块升级(用于保存连接):

而不是在短时间段内(每一秒或几秒)+1,+ 1,+ 1,+ 1,+ 1,+ 1,在长时间段内(每5分钟)做一个+80。

如何更新保存频繁连接的计数器值?

(注:我看到UPDATE LOW_PRIORITY在MySQL数据库,我发现类似的东西)

+0

请告诉我题? –

+0

您没有指定DBMS,但是如果您的支持触发器,请在触发器中执行此操作,它对您而言将是透明的 – Icarus

+0

但是...哪里将这些增量数字临时保存?什么是最好的方法? – Manz

回答

2

计数器是很简单的事情。如果需要,您可以将该号码保存在文本文件中。在服务器上保存到本地文件通常比在数据库上运行查询更容易,听起来您已经对减少数据库负载感兴趣。如果您担心竞争状况,请使用文件块(如flock);然后让脚本以您认为合适的频率(可能使用cron job)将数据库与文本文件同步。