(性能方面)有什么区别
$var = mysql_query("select * from tbl where id='something'");
$count = mysql_num_rows($var);
if($count > 1){
do something
}
和
$var = mysql_query("select count(*) from tbl where id='somthing'");
P.S:我知道 mysql_* 已被弃用。
最佳答案
第一个版本返回整个结果集。如果您的表很宽,这可能是一个很大的数据量。如果id
有索引,还是需要读取原始数据填值。
第二个版本只返回计数。如果id
上有索引,那么它将使用该索引而不需要从数据页中读取任何数据。
如果您只想要计数而不想要数据,则第二个版本更清晰并且性能应该更好。
关于php - 使用计数而不是 mysql_num_rows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525212/