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

Por que o deslocamento LIMIT maior do MYSQL diminui a velocidade da consulta?


Eu mesmo tive exatamente o mesmo problema. Dado o fato de que você deseja coletar uma grande quantidade desses dados e não um conjunto específico de 30, você provavelmente estará executando um loop e incrementando o deslocamento em 30.

Então, o que você pode fazer é:
  1. Mantenha o último id de um conjunto de dados (30) (por exemplo, lastId =530)
  2. Adicione a condição WHERE id > lastId limit 0,30

Assim, você sempre pode ter um deslocamento ZERO. Você ficará surpreso com a melhoria de desempenho.