10
我想知道如何在查詢特定表中的列中存在varchar
值時如何最大限度地提高速度。我不需要知道它在哪裏,或者有多少次出現,我只想要一個true
/false
。當然,該列有一個索引。檢查值是否存在列
現在,我有這樣的:
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
我想知道如何在查詢特定表中的列中存在varchar
值時如何最大限度地提高速度。我不需要知道它在哪裏,或者有多少次出現,我只想要一個true
/false
。當然,該列有一個索引。檢查值是否存在列
現在,我有這樣的:
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
EXISTS通常應儘快返回的子查詢發現一行滿足其WHERE子句。所以我認爲你的查詢速度可以達到你想要的速度。
我有點驚訝,LIMIT 1
似乎總是加快查詢非常輕微。我沒有想到。您可以通過EXPLAIN ANALYZE
查看效果。
EXPLAIN ANALYZE
SELECT exists (SELECT 1 FROM table WHERE column = <value> LIMIT 1);
你能告訴我查詢是如何常用於此(檢查是否存在與最大速度) – Perlos
對於檢查如果列名存在,看到http://stackoverflow.com/a/10636439/287948 –