0

SQLリクエストの数を最適化しようとしています。そのような同じリクエストを2回使用したことがわかりました:

//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) を試しましたが、各カウントで大きな数が返されます!

$nbtotal とリクエストの結果を同じリクエスト (制限 0,5) で結合できますか??

どうもありがとう!

4

1 に答える 1

3

表示する結果を返す limit クエリを実行すると、別のクエリを呼び出すことができます。

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 に答える