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

Hvordan bruger man MySQL Found_Rows() i PHP?

SQL_CALC_FOUND_ROWS er kun nyttig, hvis du bruger en LIMIT klausul, men vil stadig gerne vide, hvor mange rækker der ville være blevet fundet uden LIMIT .

Tænk på, hvordan dette virker:

SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Du tvinger databasen til at hente/parse ALLE data i tabellen, og så smider du dem væk. Selvom du ikke vil hente nogen af ​​rækkerne, vil DB-serveren stadig begynde at trække faktiske data fra disken under den antagelse, at du vil have disse data.

I menneskelige termer købte du hele indholdet af superkøbmanden, men smed alt undtagen tyggegummipakken fra standen ved kassereren.

Hvorimod, gør:

SELECT count(*) FROM users;

lader DB-motoren vide, at selvom du vil vide, hvor mange rækker der er, kunne du ikke være ligeglad med de faktiske data. På de fleste intelligente DBMS'er kan motoren hente denne optælling fra tabellens metadata eller en simpel kørsel gennem tabellens primære nøgleindeks uden nogensinde at røre rækkedataene på disken.



  1. JSON_ARRAY() – Opret et JSON-array fra en liste over værdier i MySQL

  2. PHP oprette tabel fejl 1064

  3. Er der nogen SQL-validatorer, der kan kontrollere syntaks mod flere databaseservere?

  4. SQL Backup Recovery Tool to Repair Damaged SQL Backup - Produktanmeldelse - Et gæsteindlæg af Daniel Jones