Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como usar MySQL Found_Rows() em PHP?


SQL_CALC_FOUND_ROWS só é útil se você estiver usando um LIMIT cláusula, mas ainda deseja saber quantas linhas teriam sido encontradas sem o LIMIT .

Pense em como isso funciona:
SELECT SQL_CALC_FOUND_ROWS * FROM Users;

Você está forçando o banco de dados a recuperar/analisar TODOS os dados na tabela e, em seguida, você os joga fora. Mesmo que você não vá recuperar nenhuma das linhas, o servidor de banco de dados ainda começará a extrair dados reais do disco supondo que você deseja esses dados.

Em termos humanos, você comprou todo o conteúdo da super mercearia, mas jogou tudo fora, exceto o pacote de chicletes do carrinho ao lado do caixa.

Considerando que, fazendo:
SELECT count(*) FROM users;

permite que o mecanismo de banco de dados saiba que, embora você queira saber quantas linhas existem, não se importará com os dados reais. Na maioria dos DBMS inteligentes, o mecanismo pode recuperar essa contagem dos metadados da tabela ou uma simples execução pelo índice de chave primária da tabela, sem nunca tocar nos dados da linha no disco.