MySQL与MariaDB对嵌套的查询语句当中的order by的处理方法不同。MySQL会忠实执行内层查询的排序子句,但是MariaDB会将这个order by去掉,理论依据就是关系理论 --- 一个表是行的集合,因此没有顺序要求。由于嵌套的查询语句是外层查询的数据表,因此可以以任何顺序提供给外层查询。如果在内层查询语句中不仅有order by,还有limit子句,那么这时这个order by是不会被MariaDB忽略的,因为此时的行的顺序会决定哪些行会返回给外层查询。

  后来我试验了一下,改SQL语句,把原来的子查询中存在order by的放到外面,也就是让order by起作用,结果一个DB2执行几秒的SQL语句,MariaDB居然执行了

12分钟!12分钟!12分钟。 我该建的索引都建了。

  

相关文章:

  • 2021-07-24
  • 2021-11-02
  • 2021-09-20
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-06-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案