检查值是否存在列

问题描述:

我想知道如何在查询特定表中的列中存在varchar值时如何最大限度地提高速度。我不需要知道它在哪里,或者有多少次出现,我只想要一个true/false。当然,该列有一个索引。检查值是否存在列

现在,我有这样的:

SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1); 
+0

对于检查如果列名存在,看到http://*.com/a/10636439/287948 –

EXISTS通常应尽快返回的子查询发现一行满足其WHERE子句。所以我认为你的查询速度可以达到你想要的速度。

我有点惊讶,LIMIT 1似乎总是加快查询非常轻微。我没有想到。您可以通过EXPLAIN ANALYZE查看效果。

EXPLAIN ANALYZE 
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1); 
+0

你能告诉我查询是如何常用于此(检查是否存在与最大速度) – Perlos