同一条select sql语句在两个MariaDB上执行结果不一样.SELECT tmp_page.* FROM (
SELECT t.* FROM device_info t ORDER BY t.ID DESC
) tmp_page LIMIT 0,10;A数据库查询出来是按照ID倒序排列的
B数据库查询出来时按照ID正序排列的这个是为什么。和数据库引擎有关系吗?
SELECT t.* FROM device_info t ORDER BY t.ID DESC
) tmp_page LIMIT 0,10;A数据库查询出来是按照ID倒序排列的
B数据库查询出来时按照ID正序排列的这个是为什么。和数据库引擎有关系吗?
和order by t.id asc,然后再去tmp_page LIMIT 0,10一定取出结果集是不一样的。
yes ,have the same definition in both mariadb!
这个肯定啊,语句都是一样的,两个数据库配置都一致,就是跑出来的结果不一样,
如果去掉外层的包裹 ,直接SELECT t.* FROM device_info t ORDER BY t.ID DESC limit 0,10 ,结果都是一样的。
oracle排序,再分页不都是这么做的吗?
而且有的mariadb上是好的,有的不行,
从mysql迁移到mariadb上就出现这个问题了。
SELECT t.* FROM device_info t ORDER BY t.ID DESC
) tmp_page order by xxx LIMIT 0,10;
没有ORDER BY语句则由数据库系统自行决定。这个并不是完全相同的。