mysql 的 where 条件过滤需要考虑顺序吗
假如 mysql where 后面条件字段都是没有索引的,但有的字段区分度大,有的字段区分度小,在一个比较大的数据量的表中,这种查询语句需要考虑 where 后面条件顺序吗,先不要说索引,假设是无索引环境
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
假如 mysql where 后面条件字段都是没有索引的,但有的字段区分度大,有的字段区分度小,在一个比较大的数据量的表中,这种查询语句需要考虑 where 后面条件顺序吗,先不要说索引,假设是无索引环境
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
本来想说一下联合索引的情况,既然楼主假设无索引那就不谈了。
所以,数据库引擎在执行SQL语句时,都是要经过查询优化器的,优化器会优化查询计划选择最优查询,所以你后面where如何组合查询器都会再优化的。
没有表连接和索引的话,条件顺序对性能无影响。
首先理解where条件是怎么过滤。
就是MySQL调用存储引擎接口,每访问一行表数据,就判断where条件是否满足。
所以,跟where条件顺序是没有关系,无论什么顺序,都只是判断是否满足所有where条件。
有无索引都一样,where条件顺序无关