mysql where顺序优化_MYSQL5.7优化了WHERE条件前后顺序

最近看了一本MYSQL优化的书,书上说where条件前后顺序会导致索引无法使用?MMP 啥意思呢?

意思说 比如说 建了个组合索引 CREATE INDEX IX_A_B ON t(a,b);

SELECT * FROM T WHERE B=1 AND A=2;

这样的语句使用不上IX_A_B,因为条件WHERE顺序不匹配!

记得以前面试被问过ORACLE WHERE 条件顺序如何? 我很蒙蔽啊!什么鬼问题?

现在才明白当初的面试官是从MYSQL过来的!!

那我们做下测试,只从MYSQL被O收走了后,出了8.0 还添加了跳跃索引扫描。这些ORACLE数据库老早使用的技术了!

看看这个不友好的WHERE条件顺序的限制是否还存在! 拿5.7来看看!

mysql> desc T_Dire_Info;

+--------------------+--------------+------+-----+---------+-------+

| Field              | Type         | Null | Key | Default | Extra |

+--------------------+--------------+------+-----+---------+-------+

| DirectoryNumber    | varchar(36)  | NO   | PRI | NULL    |       |

| Name               | varchar(50)  | YES  |     | NULL    |       |

| IdNo               | varchar(30)  | YES  |     | NULL    |       |

| FileDirectory      | varchar(200) | YES  |     | NULL    |       |

| PageCount          | int(11)      | YES  |     | NULL    |       |

| PosPage            | varchar(50)  | YES  |     | NULL    |       |

| PosX               | varchar(500) | YES  |     | NULL    |       |

| PosY               | varchar(500) | YES  |     | NULL    |       |

| CreateDate         | datetime     | YES  |     | NULL    |       |

| UpdateDate         | datetime     | YES  |     | NULL    |       |

| ImagePath          | varchar(500) | YES  |     | NULL    |       |

| FileDirectoryDst   | varchar(200) | YES  |     | NULL    |       |

| FileDirectoryFinal | varchar(200) | YES  |     | NULL    |       |

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值