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

Come utilizzare MySQL Found_Rows() in PHP?

SQL_CALC_FOUND_ROWS è utile solo se stai usando un LIMIT clausola, ma voglio comunque sapere quante righe sarebbero state trovate senza il LIMIT .

Pensa a come funziona:

SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Stai forzando il database a recuperare/analizzare TUTTI i dati nella tabella e poi lo butti via. Anche se non recupererai nessuna delle righe, il server DB inizierà comunque a estrarre i dati effettivi dal disco partendo dal presupposto che desideri quei dati.

In termini umani, hai comprato l'intero contenuto del super supermercato, ma hai buttato via tutto tranne il pacchetto di gomme da masticare dal banco accanto alla cassiera.

Considerando che, facendo:

SELECT count(*) FROM users;

fa sapere al motore DB che mentre vuoi sapere quante righe ci sono, non ti potrebbe importare di meno dei dati effettivi. Sulla maggior parte dei DBMS intelligenti, il motore può recuperare questo conteggio dai metadati della tabella, o una semplice esecuzione dell'indice della chiave primaria della tabella, senza mai toccare i dati della riga su disco.