5 métodos de consulta de paginação do MySQL

Método 1:

selecione * da ordem da tabela por id limite m, n;

Muito simples, o significado desta instrução é consultar m+n registros, remover os primeiros m registros e retornar os últimos n registros. Sem dúvida, a consulta pode atingir a paginação, mas quanto maior for m, menor será o desempenho da consulta, porque o MySQL precisa verificar todos os registros m+n.

Método 2:

selecione * da tabela onde id > #max_id# ordene por id limite n;

Esta consulta também retornará os últimos n registros, mas não há necessidade de varrer os primeiros m registros como o método 1, mas é mais comum obter o id máximo (ou id mínimo) da consulta anterior (página anterior) em cada consulta O caminho.

Obviamente, o problema com essa consulta é que talvez não consigamos obter esse id. Por exemplo, se estivermos na página 3 e precisarmos consultar os dados da página 5, isso não funcionará.

Método 3:

Para evitar consultas cross-page que não podem ser realizadas no método 2, é necessário combinar o método 1.

Necessidades de desempenho, m deve ser o menor possível. Por exemplo, se você está atualmente na página 3, precisa consultar a página 5, com 10 dados por página, e o id máximo da página 3 é #max_id#, então:

selecione * da tabela onde id > #max_id# ordene por id limite 10, 10;

Esse método resolve parcialmente o problema do método 2, mas se você estiver na página 2 e quiser verificar a página 1000, o desempenho ainda será ruim.

Método 4:

selecione * da tabela como uma junção interna (selecione id da tabela ordene por id limite m, n) como b em a.id = b.id ordene por a.id;

Essa consulta é a mesma do método 1 e o valor de m pode ser muito grande, mas como a subconsulta interna verifica apenas o campo id em vez de toda a tabela, o desempenho é mais forte que o método 1 e pode resolver o problema cruzado. problema de consulta de página.

Caminho 5:

selecione * da tabela onde id > (selecione id da tabela ordem por id limite m, 1) limite n;

Essa consulta também verifica o id do campo por meio da subconsulta e o efeito é o mesmo do método 4. Porém, o desempenho do método 5 é um pouco melhor que o método 4, pois não requer associação de tabelas, mas sim uma comparação simples, sendo um uso recomendado quando o id máximo da página anterior não é conhecido.

Acho que você gosta

Origin blog.csdn.net/std7879/article/details/125308628
Recomendado
Clasificación