問題都捨不得虧的條目存在的快速檢查:在SQL數據庫
我想有一個函數返回一個布爾值來檢查,如果表中有一個條目與否。我需要調用這個,所以需要進行一些優化。現在
Iues MySQL,但是應該是相當的基本...
所以我應該使用
select id from table where a=b limit 1;
或
select count(*) as cnt from table where a=b;
什麼完全地不同?
我認爲帶有限制的SELECT應該在第一次查找後停止,count(*)需要檢查所有條目。所以SELECT可能會更快。
最簡單的事情會做幾個循環並測試它,但我的測試沒有幫助。 (我的測試系統似乎也被使用,否則也會使用稀釋的mny結果)
無論在哪種情況下,您都希望確保有'a'索引。 – 2009-10-28 14:25:06
@Brett:真的沒有足夠的信息說這個。如果'a'是具有3個可能值的枚舉常量,則其上的索引不會提高性能。 – Andomar 2009-10-28 19:01:14