Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql Mysql_num_rows($result);选择_Php_Mysql - Fatal编程技术网

Php Mysql Mysql_num_rows($result);选择

Php Mysql Mysql_num_rows($result);选择,php,mysql,Php,Mysql,使用WHERE语句是否可以更快地查询有多少行? 我在PHP中使用的当前查询是: $result = mysql_query("SELECT SQL_NO_CACHE id FROM users WHERE user = '$tnuser'"); $total = mysql_num_rows($result); 表引擎是InnoDB,ID是主键,用户被索引。此查询以每秒300+的速度运行,因此任何性能提升都会很好。总计数总是在变化,用户经常被删除/添加 谢谢通常使用SQL的聚合函数来计算一些东

使用WHERE语句是否可以更快地查询有多少行? 我在PHP中使用的当前查询是:

$result = mysql_query("SELECT SQL_NO_CACHE id FROM users WHERE user = '$tnuser'");
$total = mysql_num_rows($result);
表引擎是InnoDB,ID是主键,用户被索引。此查询以每秒300+的速度运行,因此任何性能提升都会很好。总计数总是在变化,用户经常被删除/添加


谢谢

通常使用SQL的聚合函数来计算一些东西会更快。例如,你可以试试看

SELECT COUNT(*) FROM users WHERE user = '$tnuser'

它将大多数查询从500毫秒提高到200毫秒谢谢!这听起来还是很多,应该是一个快速的索引参考;使用EXPLAIN SELECT COUNT(*)检查表上是否设置了正确的索引@FiskDisk sry我的意思是,它通过添加php将脚本本身改进了300秒。它使mysql在峰值时使用的cpu减少了20%。哦,是的,这比以前要好得多,但在大多数情况下,对索引进行简单的计数不应该需要200毫秒。