当我将LIMIT 1添加到MySQL查询中时,它会在找到1个结果(从而使其速度更快)之后停止搜索,还是仍然获取所有结果并在最后截断?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据查询,添加limit子句会对性能产生巨大影响。如果您只需要一行(或者知道只有一行可以满足查询的事实),并且不确定内部优化器将如何执行它(例如,WHERE子句未命中索引等等),那么您绝对应该添加LIMIT子句。
至于优化的查询(在小型表上使用索引),性能可能无关紧要,但还是要重申一下-如果您只对一行感兴趣,那么无论如何都不要添加LIMIT子句。来源:stack overflow