Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да използвам MySQL Found_Rows() в PHP?

SQL_CALC_FOUND_ROWS е полезно само ако използвате LIMIT клауза, но все пак искам да знам колко реда биха били открити без LIMIT .

Помислете как работи това:

SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Принуждавате базата данни да извлича/разбира ВСИЧКИ данни в таблицата и след това ги изхвърляте. Дори ако няма да извличате нито един от редовете, DB сървърът пак ще започне да изтегля действителни данни от диска при допускането, че ще искате тези данни.

По човешки, купихте цялото съдържание на супер магазина за хранителни стоки, но изхвърлихте всичко с изключение на опаковката дъвка от щанда до касата.

Като има предвид, че правиш:

SELECT count(*) FROM users;

позволява на DB машината да знае, че докато искате да знаете колко реда има, не можете да се интересувате по-малко от действителните данни. В повечето интелигентни СУБД машината може да извлече този брой от метаданните на таблицата или просто да премине през индекса на първичния ключ на таблицата, без изобщо да докосва данните от редовете на диска.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC, MySQL:получаване на битове в BIT(M!=1) колона

  2. Изберете най-често срещаната стойност от поле в MySQL

  3. Защо не трябва да деактивирате ONLY_FULL_GROUP_BY

  4. Как мога да прехвърля int към bit в MySQL 5.1?

  5. Каква е разликата между MySQL Native Driver и MySQL Client Library