2014-02-10 118 views
0

我需要知道哪一個是檢查行的最佳方法:什麼是檢查MySQL中行存在的最佳方式

沒有列;僅只是一個數字:

SELECT 1 FROM users WHERE users.id = 1 LIMIT 1 

隨着柱和數據庫(users.id)

SELECT users.id FROM users WHERE users.id = 1 LIMIT 1 

帶柱和不數據庫

SELECT id FROM users WHERE id = 1 LIMIT 1 

與各界(顯然效率不高):

SELECT * FROM users WHERE users.id = 1 LIMIT 1 

而且它是r推薦在使用「存在」這個句子時使用「限制」這個句子?

例與限制:

SELECT products.* FROM products 
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user LIMIT 1 
) 

例無極限:

SELECT products.* FROM products 
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user 
) 

謝謝!

回答

1

我這樣做:

select count(*) records 
from users 
where id = 1 

然後,我會在我的應用程序檢查記錄的價值。

+0

甚至更​​好'count(id)' – ToBe

+0

您的代碼cout行;我需要檢查行存在... –

相關問題