SQL CALC FOUND ROWS

Z PHPEdia.pl

Opis

SQL_CALC_FOUND_ROWS w połączeniu z FOUND_ROWS() pozwala na szybkie oszacowanie ilości rekordów spełniających określony warunek.

Jest to rozwiązanie znacznie szybsze, niż użycie COUNT(*)

Przykład

<?php
// zapytanie pobierające określone dane, a zarazem sprawdzające ile jest rekordów spełniających określony warunek
// w tym przypadku wszystkich rekordów w tabeli
$sql = "SELECT SQL_CALC_FOUND_ROWS * 
       FROM moja_baza 
       ORDER BY date ASC 
       LIMIT 10 ";
 
// wykonujemy zapytanie
$res = mysql_query( $sql );
 
// uruchamiamy petle
while($AFR = mysql_fetch_assoc( $res ) )
{
    // wyswietlanie wyników
}
 
// pobieramy ilość danych w bazie
$sql = "SELECT FOUND_ROWS() as Ilosc";
 
// wykonujemy zapytanie
$res = mysql_query( $sql );
 
// przypisujemy wynik do zmiennej
list( $iloscWpisow ) = mysql_fetch_row( $res );
?>

Zobacz także

Więcej na temat SQL_CALC_FOUND_ROWS można przeczytać: [SQL].