php - 使用计数而不是 mysql_num_rows?

标签 php mysql sql

(性能方面)有什么区别

$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/

相关文章:

php - 从匿名函数中中断 array_walk

php - 在 PHP 中显示 MySQL 表(行数不同)

php - 如何使用查询 CI 语法编写 SQL 查询?

php - 如果不使用唯一记录不存在,则插入到 mysql 表中

mysql - SQL 对满足条件的每一行执行操作

php - 根据另一个字段使一个字段唯一

PHP:来自远程服务器的 Http 请求失败

php - 优雅变化 2011-10-31T16 :22:00 to 2011-10-31 in php

mysql - SQL 查询分组依据和过滤器

mysql - "-log"在 MySQL 版本中代表什么?