2015-11-03 88 views
-1

假設我在表格中有一個字段需要檢查,並且字段中存儲了值「on」。現在,哪些是值得推薦的?MySQL - 哪個更好:SELECT還是SELECT COUNT?

SELECT COUNT(*) AS c FROM table WHERE field='on' 
if (c > 0) { //execute script } 

SELECT field FROM table 
if (field == 'on') { //execute script } 
+0

爲什麼不:SELECT COUNT(*)FROM table WHERE field ='on'having COUNT(*)> 0 {//執行腳本} – John

+0

這兩個查詢產生完全不同的輸出,您想如何比較他們? – Shadow

+0

我想比較哪個更快,並且會在惡劣的環境中做的更好。 – user3052587

回答

0
SELECT COUNT(*) AS c FROM table WHERE field='on' 
if (c > 0) { //execute script } 

第一個是速度更快,因爲查詢自己對記錄進行計數並僅在where field ='on'條件下獲取慾望記錄。因此,執行這樣的查詢需要更少的時間,同時佔用更少的內存。 其中一個最有用的好處是加速。

SELECT field FROM table 
if (field == 'on') { //execute script } 

第二動作使用大型數據庫時,因爲其獲取從數據庫中的所有記錄,然後我們正在檢查「開」條件申請==服用時間。

所以第一個比較好實施。

+0

謝謝你的幫助。 – user3052587

+0

最受歡迎。也總是爲未來做好準備。 – RJParikh

0

第一個是好還是快速的方式

SELECT COUNT(*) AS c FROM table WHERE field='on' 

因爲if (c > 0)超過快if (field == 'on')

+0

不是'count(*)'比'count(field)'慢嗎? – px5x2