Recentemente descobri que o MySQL tem um offset
recurso. Tenho tentado encontrar documentação sobre os resultados do deslocamento ou a diferença entre o deslocamento e a variante de limite, mas não consigo encontrar o que estou procurando.
Digamos que eu tenha 10.000 linhas em uma tabela e quero 25 resultados, da linha 1.000. Tanto quanto eu cheguei até agora, eu poderia fazer as duas coisas para obter o mesmo resultado:
SELECT id,name,description FROM tablename LIMIT 1000,25
SELECT id,name,description FROM tablename LIMIT 25 OFFSET 1000
O que eu gostaria de saber é a diferença entre os dois.
- Isso realmente faz o mesmo ou meu entendimento está errado?
- É um mais lento/rápido em tabelas maiores
- O resultado do deslocamento muda quando eu faço
WHERE column=1
(digamos que a coluna tenha> 100 valores diferentes) - O resultado do deslocamento muda quando eu faço
ORDER BY column ASC
(supondo que tenha valores aleatórios)
Tenho a sensação de que o deslocamento pula as primeiras linhas X encontradas no banco de dados, desconsiderando a classificação e o local.