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 - 如何生成动态加载数据库的所有可能结果?

php - PDO 选择具有未知列的查询?

javascript - 使用 Smarty 将值从 PHP 传递到 JS?

php - WordPress 列出所有帖子(摘录)php 循环

java - 使用 MYSQL 8 通过 JDBC 语句执行 DDL 时出错

SQL Server - 执行批处理时发生错误。错误消息是 : The directory name is invalid

javascript - 如何使用ajax将javascript变量输入到php函数中?

php - Android MySQL 服务器请求类中 Asynctask 的问题

sql - 如何插入一行并附加行号以强制执行唯一性?

sql - 替换SQL中的多个字符