$userid = $_SESSION[userid]
$sqll = mysql_query("SELECT count(id) FROM entries WHERE userid='$userid'");
是否使用count(id)
高效?或者,還有更好的方法?如何統計屬於userid的所有行?
$userid = $_SESSION[userid]
$sqll = mysql_query("SELECT count(id) FROM entries WHERE userid='$userid'");
是否使用count(id)
高效?或者,還有更好的方法?如何統計屬於userid的所有行?
count(*)
應該做的。
儘管如此,確保你逃脫$userid
。
編輯:只是半個字的解釋。 count(column)
統計column
不爲空的所有行。使用*
應該是對行進行計數的最有效的方式,無論內容如何,以及在某人(包括您自己)將要(重新)讀取代碼時更具描述性。
請確保您的userid列上有索引(如果它是主鍵,那麼您已經這樣做)。
如果你已經有了userid作爲主鍵,那麼這應該是一個有效的查詢,並且與使用count(*)具有相同的效率。
由於您不需要專門計算id列,因此您可以使用COUNT(*)
,這對於某些引擎可能會更快。
有人說使用效率更高COUNT(*)
它也取決於你多久計一次這個值,以及它會多久改變一次。可能是將它緩存在某處更好。
更好地描述了這個意圖。 – 2010-01-06 21:42:11