[英]Does it make sense to use “LIMIT 1” in a query “SELECT 1 …”?
这个问题应该很清楚,但是代替使用它有什么好处吗?
SELECT 1 FROM table ...
SELECT 1 FROM table ... LIMIT 1
?
假设您的表格有一百万行...
SELECT 1 FROM table ...
将返回值1
,一百万次...
SELECT 1 FROM table ... LIMIT 1
将一次返回值1
。
编辑
您提到您对EXISTS
检查特别感兴趣。 找到第一行后, EXISTS
停止处理(这就是为什么EXISTS
在这种情况下比IN
更有效的原因),因此,记住这一点,这两个查询之间没有功能上的区别:
SELECT *
FROM tableA ta
WHERE EXISTS (
SELECT 1
FROM TableB tb
WHERE tb.ID = ta.ID
);
和
SELECT *
FROM tableA ta
WHERE EXISTS (
SELECT 1
FROM TableB tb
WHERE tb.ID = ta.ID
LIMIT 1
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.