我想知道在查询varchar特定表中列中是否存在值时如何最大化速度.我不需要知道它在哪里,或者有多少次出现,我只想要一个true/ false.当然,该列有一个索引.
现在,我有这个:
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
Run Code Online (Sandbox Code Playgroud)
Mik*_*ll' 19
一旦子查询找到满足其WHERE子句的一行,通常应该返回EXISTS.因此,我认为您的查询速度与您的查询速度一样快.
我有点惊讶,LIMIT 1似乎总是非常轻微地加快查询速度.我没想到.你可以看到效果EXPLAIN ANALYZE.
EXPLAIN ANALYZE
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19180 次 |
| 最近记录: |