sql >> Database teknologi >  >> RDS >> Mysql

Hvordan får man det samlede antal fundne rækker uden at overveje grænsen i BOB?

Kun MySQL AFAIK:

$r=$db->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

var_dump($r->fetchAll());

var_dump($db->query('SELECT FOUND_ROWS();')->fetch(PDO::FETCH_COLUMN));

Omtrent lige så tungt for databaseserveren som at forespørge en enkelt gang for alle posterne selvfølgelig. Til ikke-MySQL-brug er denne forespørgsel selvfølgelig bedre end at få rækkeantallet af alle optegnelserne:

$r=$db->prepare("SELECT COUNT(*) FROM locations WHERE area=:area");
$r->execute($fields);
$count = $r->fetch(PDO::FETCH_COLUMN);
echo $count;



  1. MySQL:Fejl under sletning af database (fejl 13; fejl 17; fejl 39)

  2. MySQL Performance – Langsom forespørgsel og innodb_buffer_pool_size

  3. SQL-antal

  4. mysql pivot/krydstabel-forespørgsel