Php Mysql Mysql_num_rows($result);选择
使用WHERE语句是否可以更快地查询有多少行? 我在PHP中使用的当前查询是: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的聚合函数来计算一些东
$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毫秒。