假設我在表格中有一個字段需要檢查,並且字段中存儲了值「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 }
假設我在表格中有一個字段需要檢查,並且字段中存儲了值「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 }
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 }
第二動作使用大型數據庫時,因爲其獲取從數據庫中的所有記錄,然後我們正在檢查「開」條件申請==服用時間。
所以第一個比較好實施。
謝謝你的幫助。 – user3052587
最受歡迎。也總是爲未來做好準備。 – RJParikh
第一個是好還是快速的方式
SELECT COUNT(*) AS c FROM table WHERE field='on'
因爲if (c > 0)
超過快if (field == 'on')
不是'count(*)'比'count(field)'慢嗎? – px5x2
爲什麼不:SELECT COUNT(*)FROM table WHERE field ='on'having COUNT(*)> 0 {//執行腳本} – John
這兩個查詢產生完全不同的輸出,您想如何比較他們? – Shadow
我想比較哪個更快,並且會在惡劣的環境中做的更好。 – user3052587