有限的结果总数

时间:2012-10-11 15:59:37

标签: php mysql sql optimization

我正在尝试优化SQL请求的数量。 我发现我使用了两次相同的请求:

//a big select without limit
$select="select * from tab1, tab2 ,tab 3 where (jointure..)";

// return to me 20 line
$nbtotal=mysql_num_rows(mysql_query($select));
// I apply the limit for my paging system 5 per page
$select.=" limit  ".$offset.",".$limit;

// all the information that i need to fetch
$result_of_myrequest=mysql_query($select);

我已经尝试过count(article.id),但每次计数都会给我一个大数字!

我可以在同一个请求(限制0,5)中合并$ nbtotal和我的请求的结果吗?

非常感谢!

1 个答案:

答案 0 :(得分:3)

运行限制查询,它会返回您要显示的结果,然后您可以调用另一个查询:

SELECT FOUND_ROWS();

这将返回上一个查询中的总行数,同时忽略限制。

//a big select with limit
$select="select * from tab1, tab2 ,tab 3 where (jointure..) limit ".$offset.",".$limit;

// all the information that i need to fetch
$result_of_myrequest=mysql_query($select); 

// return to me 20 line
$nbtotal = mysql_query("SELECT FOUND_ROWS()");