V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cihua
V2EX  ›  程序员

问个 Mysql 数据库中 sql where 条件顺序对查询效率的影响的问题

  •  
  •   Cihua · 2018-08-09 10:48:27 +08:00 · 2270 次点击
    这是一个创建于 2059 天前的主题,其中的信息可能已经有所发展或是发生改变。
    查询一个数据量很大的表
    一下两个顺序
    where 无索引字段(该字段只有 1-20) = 1 and ctime(时间戳有索引)> 昨天开始时间 and ctime(时间戳有索引)<昨天结束时间;
    where ctime(时间戳有索引)> 昨天开始时间 and ctime(时间戳有索引)<昨天结束时间 and 无索引字段(该字段只有 1-20) = 1 ;

    查询速度是否一样,以前查资料是说先执行过滤掉较多数据的条件,效率会高,因为后面会在前面的结果里再次筛选查询;
    今天问了下 DBA 说两种没影响,对于 DBA 的结论,我理解是都去扫描了数据库所有的数据,所以查询是一样的...;
    所以比较好奇究竟哪种效率高....数据多,缓存问题,我在自己的本地数据库中测不出来= =;
    特来问一下- -
    3 条回复    2018-08-09 11:44:39 +08:00
    FrailLove
        1
    FrailLove  
       2018-08-09 11:13:06 +08:00 via iPhone
    没有区别 优化器比你聪明
    kiwi95
        2
    kiwi95  
       2018-08-09 11:32:42 +08:00 via Android   ❤️ 1
    很旧的版本 where 顺序有影响,现在的版本没影响
    beaconfire
        3
    beaconfire  
       2018-08-09 11:44:39 +08:00
    符合索引了解一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4032 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:14 · PVG 18:14 · LAX 03:14 · JFK 06:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.