2013-04-17 19 views
0

有沒有什麼辦法可以讓選擇查詢搜索給定單詞的表,如果發現然後退出查詢並不繼續計數?如何進行選擇,直到找到1結果然後存在於mysql

比如我有一個表(T1)的數值:

id   tag tagdate 
1   my  1-1-2012 
2   name 1-1-2012 
3   you 1-1-2012 
4   foo 1-1-2012 
5   make 1-1-2012 
6   ir  1-1-2013 
7   too 1-1-2013 
..  ..  ........ 
..  ..  ........ 
..  ..  ........ 
100000 foo 1-1-2013 

例如我會作出查詢,以確保從「富」字的存在與否和是否存在只返回1並停止繼續查詢。

查詢,我現在提出的是,以確保從字是存在於表或不計數:

select count(tag) from t1 where tag = 'foo' 

但Sql語句搜索所有的表的字「富」和回報它在表上的數量,如果我們在表中有100,000條記錄,查詢將在所有100,000條記錄上搜索「foo」字。並且浪費時間,而我們只是想知道'foo'是否存在於桌子上。

所以有沒有任何語句來搜索一個單詞和單詞發現然後它停止閱讀表並返回1或類似的東西?

+0

@ ajmalmhd04:Try一組定義的結果的存儲過程 – SenthilPrabhu

回答

0

也許是這樣的:

SELECT IFNULL(SIGN(id), 0) FROM t1 WHERE tag = 'foo' 
LIMIT 1 
1

我會做這種方式:

SELECT EXISTS(SELECT NULL FROM t1 WHERE tag = 'foo') 

這將0(FALSE)如果標籤foo的不存在,1(TRUE),否則返回。使用列tag上的索引將避免全表掃描:

CREATE INDEX idx_tag ON t1 (tag); 
相關問題