MariaDB进行表子查询存在的问题

 

  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分钟。 我该建的索引都建了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值