$userid = $_SESSION[userid]
$sqll = mysql_query("SELECT count(id) FROM entries WHERE userid='$userid'");
使用count(id)
有效吗?或者有更好的方法吗?
答案 0 :(得分:4)
count(*)
应该这样做。
请确保您逃脱$userid
。
编辑:只是半个字的解释。 count(column)
计算column
不为空的所有行。使用*
被认为是计算行数的最有效方式,无论内容如何,如果某人(包括您自己)将要(重新)阅读代码,则更具描述性。
答案 1 :(得分:3)
确保您的userid列上有索引(如果它是主键,您已经这样做了。)
如果你有userid作为主键,那么这应该是一个有效的查询,并且具有与使用count(*)相同的效率。
答案 2 :(得分:1)
有人说使用COUNT(*)
效率更高
这也取决于您多久会计算一次这个值以及它经常变化的频率。将缓存缓存在某个地方可能会更好。
答案 3 :(得分:0)
由于您不需要专门计算id列,因此您可以使用COUNT(*)
,这对于某些引擎可能会更快。