首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 判斷記錄是否存在:SELECT 1 ... LIMIT 1 比 COUNT(*) 快數倍

     編輯:MySQL 資料庫相關知識

常見寫法(慢)

SELECT COUNT(*) FROM tbl WHERE col = ?;

需全表掃描或索引掃描統計總數,開銷大。

推薦寫法(快)

SELECT 1 FROM tbl WHERE col = ? LIMIT 1;
  • 找到第一條即停止,不再掃描
  • 返回行數只有 0 或 1,極輕量
  • PHP PDO 可直接用 $stmt->rowCount() 判斷

不推薦:讀取完整記錄再判斷

SELECT * FROM tbl WHERE col = ? LIMIT 1;

傳輸列數據、構建對象,額外開銷無意義。

總結

存在性檢查永遠用 SELECT 1 ... LIMIT 1,配合唯一索引效能最優。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved