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

colapso do limite mysql, que resulta em interação de dados


Use order by !

As tabelas SQL representam conjuntos não ordenados de linhas. Sem um order by cláusula, o banco de dados é livre para retornar as linhas na ordem que desejar, e os resultados podem não ser consistentes em execuções consecutivas da mesma consulta (portanto, a paginação não é estável).
select course_id, grade_id 
from sc_base_course 
where  agency_id = 10000  
order by course_id, grade_id
limit 10,10;

Observe que você não precisa apenas de um order by cláusula, mas também esta cláusula deve ser determinística . Ou seja, a coluna (ou conjunto de colunas) na cláusula deve identificar exclusivamente cada registro - caso contrário, fica indefinido em qual ordem os laços serão buscados.