繁体   English   中英

在查询“ SELECT 1…”中使用“ LIMIT 1”是否有意义?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM