0

我正在尝试优化 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 和我的请求结果吗?

非常感谢!

4

1 回答 1

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()");
于 2012-10-11T16:06:09.413 回答