开发者社区 问答 正文

MySQL查询有没有短路

SELECT * FROM user WHERE deleting = 0 AND name = '1' AND category_id = 3 AND id < 1000 ORDER BY id DESC LIMIT 100;
SELECT * FROM user WHERE deleting = 0 AND name = '1' AND category_id = 3 AND id < 1000 ORDER BY id DESC LIMIT 100;
如共 100W 条数据
上面2句查询效率问题,有没有快慢,也就是第一句是不是先把 deleting = 0 找到 然后再 name = '1' 这样一步一步,越到后面数据越少,剩下到 id < 1000 也就 100 条数据了
而第二句 SQL 先是吧 id < 1000 选出来,这样比他放在后面是不是就快了很多
也就是开发语言的短路,有没有这样一说

展开
收起
蛮大人123 2016-02-08 15:03:55 2802 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    没有。 where 语句的条件顺序不会影响它的性能.你应该把table贴出来,然后让更多的牛人来回答你的问题,可以学到很多。

    2019-07-17 18:39:40
    赞同 展开评论