回答
本聲明:
SELECT COUNT(*) AS found
FROM names
WHERE name = 'Hulk'
將返回的記錄總數爲'Hulk'
這種說法:如果至少一個記錄存在
將返回1
,否則將不會返回。
如果您只需檢查是否存在至少一條記錄,則後者的查詢效率更高。
@OP:如果因爲某些原因需要使用'select count',請不要使用count(*)',這會使RDBMS工作太困難。使用'count(name)'(在這種情況下)。這樣,如果信息在索引中,它可以使用它。 (儘管我希望系統能夠爲你優化它,但我經常感到驚訝,因爲什麼系統不會爲你優化,所以......) – 2010-03-01 11:10:16
@TJCrowder:所有主要系統都會優化COUNT(*)可能的方式。在這種情況下,'COUNT(name)'將具有相同的語義和性能,但是一般來說,系統需要檢索'name'以確保它不爲null,所以效率會更低,甚至可能產生錯誤的結果。 – Quassnoi 2010-03-01 11:18:08
謝謝大家。 Stackoverflow的岩石! – ahmed 2010-03-01 11:53:54
- 1. count ++在if語句中不起作用
- 2. 我應該使用SendDlgItemMessage還是在WTL中有這個包裝?
- 3. 我們應該更喜歡使用Stored Proc還是Prepared語句
- 4. 我應該在if語句的add()和sub()中用作參數?
- 5. 在mysql語句中使用if語句
- 6. 在for語句中使用if語句
- 7. 在Linq語句中使用'if'語句
- 8. 在if語句中使用where語句
- 9. 在If語句中使用CountIf語句
- 10. 在「With」語句中使用「IF」語句
- 11. 爲什麼&在這個if語句中?
- 12. 在WHERE子句中有COUNT還是HAVING?
- 13. 使用Perl進行CGI表編程:我可以在格式中使用if語句還是循環語句?
- 14. 我應該使用if語句嗎?如果是的話,在這個PHP的情況下會有什麼好處?
- 15. 這個if語句會引發異常還是忽略它?
- 16. 我應該總是在我的if語句中包含其他內容嗎?
- 17. 我應該在這裏使用awakeFromNib還是initWithCoder?
- 18. 如何在MATLAB中寫這個if語句的條件語句?
- 19. 這是if語句嗎?
- 20. 爲什麼我不能在這個if語句中使用我的變量?
- 21. 在if語句中使用where子句
- 22. 問題在if語句中if語句
- 23. SQL在case語句中使用count
- 24. 如何在C#IF語句中使用「return」這個例子?
- 25. 如果在if語句中使用$ _POST數據,我應該清理嗎?
- 26. 組合數量在這個if語句
- 27. 在if語句中使用if語句的結果
- 28. 在if語句中使用if語句的建議
- 29. 我該如何重構這個if/else語句?
- 30. 我應該擴展這個類還是僅僅使用它?
您也可以使用'WHERE ROWNUM = 1'來計算(*)查詢。 – jva 2010-03-01 13:07:46