sql >> Databasteknik >  >> RDS >> Mysql

Hur använder man MySQL Found_Rows() i PHP?

SQL_CALC_FOUND_ROWS är bara användbart om du använder en LIMIT sats, men vill fortfarande veta hur många rader som skulle ha hittats utan LIMIT .

Tänk på hur det här fungerar:

SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Du tvingar databasen att hämta/tolka ALL data i tabellen och sedan kastar du den. Även om du inte kommer att hämta någon av raderna, kommer DB-servern fortfarande att börja hämta faktiska data från disken under antagandet att du vill ha dessa data.

I mänskliga termer köpte du hela innehållet i supermataffären, men slängde allt utom tuggummipaketet från montern vid kassan.

Medan man gör:

SELECT count(*) FROM users;

låter DB-motorn veta att även om du vill veta hur många rader det finns, kan du inte bry dig mindre om den faktiska datan. På nästan alla intelligenta DBMS kan motorn hämta detta antal från tabellens metadata, eller en enkel körning genom tabellens primära nyckelindex, utan att någonsin röra raddata på disken.



  1. Grunder och användning av NOLOCK-tips i SQL Server

  2. Skapa tabell i MySQL som matchar en annan tabell?

  3. Ta bort ett databaspostkonto (SSMS)

  4. Postgres lösenordsautentisering misslyckas