您的位置:首页 > 数据库 > MySQL

mysql的SQL_CALC_FOUND_ROWS 使用

2010-12-31 14:31 267 查看
我们一般用 COUNT() 或者 mysql_num_rows() 来获取查询的行数;

在MySQL4,5里面,有 SQL_CALC_FOUND_ROWS 可以在查询的同时,计算行数:

$query = "SELECT SQL_CALC_FOUND_ROWS * FROM title WHERE ID >1000 LIMIT 10;";

$result = $db->query($query);

$line = $db->fetch_row($db->query("SELECT FOUND_ROWS();"));

print_r($line);

此时,不用额外的查询,即可得到

SELECT count(id) FROM tabled WHERE id>1000;

这样子的结果了。

不过,http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#limit-optimization 说:

只要MySQL已经发送了需要的行数到客户,它将放弃查询,除非你正使用SQL_CALC_FOUND_ROWS。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql sql query