增加数据库中字段的最快方法

时间:2011-12-08 21:20:04

标签: php mysql database

假设我有一个MySQL表来保持页面访问次数,我想跟踪每个用户的总页面访问次数。这是用于递增字段的SQL:

UPDATE visits  
  SET visits = visits + 1  
  WHERE user_id = 12

这很简单,但我想知道是否有更快的方法来实现这一目标。我的意思是,如果我有很多访问者(理想情况下,每天有数百万用户),这种方法是否足够,或者我应该使用替代方法。感谢。

3 个答案:

答案 0 :(得分:3)

使用user_id上的索引,这将非常快。我怀疑你是否能够使用任何其他手段获得(明显)更快的结果。您可能会遇到与此查询相比数百万用户的其他性能/服务器问题(有些人称之为“微优化”)

答案 1 :(得分:0)

我认为这不会更快,但您可以做的一件事是堆叠他们的访问并通过cron作业每分钟更新一次点击次数。请确保user_id已编入索引

答案 2 :(得分:0)

如果visits上有索引,这可能会很慢 虽然我建议保留原样,直到你获得至少10 000名用户 因为无论如何你必须多次重写你的代码。