【发布时间】:2011-12-08 21:20:03
【问题描述】:
假设我有一个保存页面访问计数的 MySQL 表,并且我想跟踪每个用户的页面访问总数。下面是增加字段的 SQL:
UPDATE visits
SET visits = visits + 1
WHERE user_id = 12
这很简单,但我想知道是否有更快的方法来实现这一点。我的意思是,如果我有很多访问者(理想情况下每天有数百万用户),这种方法是否足够,或者我应该使用另一种方法。谢谢。
【问题讨论】:
-
最快的方法是通过 mySQL 本身,这通常是您当前通过查询进行的。我能想到的任何其他选择都需要将数据拉出,用 php 对其进行更改,然后将数据放回原处。如果您需要做的只是在可以通过查询来增加一列时,这是多余的。
-
坚持下去。如果您的 user_id 是主键(理想情况下是 auto_increment),那么您就在正确的轨道上。在考虑 1 mio 时,您需要担心的语句会变慢。用户(更不用说浏览量和查询)。