MySQL中limit+order by-查询结果不一致-原因?
同样的一条SQL语句,多次执行得到的结果可能是不同的,在实际表现中可能就是在分页查询中,一条记录可能出现在多个页中。 可能是因为查询过程中有别的事务新增或者删除了数据。但是没有数据变化,这种情况也有可能会发生。
在MySQL的Limit的实际实现中,如果ORDER BY的列中,多行具有相同的值,服务器可以自由地以任何顺序返回这些行,并且根据整体执行计划的不同可能会以不同的方式返回它们。
2024年11月25日1分钟阅读
同样的一条SQL语句,多次执行得到的结果可能是不同的,在实际表现中可能就是在分页查询中,一条记录可能出现在多个页中。 可能是因为查询过程中有别的事务新增或者删除了数据。但是没有数据变化,这种情况也有可能会发生。
在MySQL的Limit的实际实现中,如果ORDER BY的列中,多行具有相同的值,服务器可以自由地以任何顺序返回这些行,并且根据整体执行计划的不同可能会以不同的方式返回它们。