Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách hiệu quả nhất kiểm tra sự tồn tại của hàng trong MySQL

Thay vì SELECT * hoặc COUNT(*), dùng COUNT(1) hoặc EXISTS để kiểm tra tồn tại hàng nhanh nhất.

Cú pháp khuyến nghị

SELECT COUNT(1) FROM tenBang WHERE dieuKien;

Ví dụ

Tạo bảng và chèn 5 bản ghi:

mysql> create table DemoTable ( 
    Id int, 
    FirstName varchar(20) 
); 
Query OK, 0 rows affected (0.73 sec)

Kiểm tra tồn tại Id = 130:

mysql> select count(1) from DemoTable where Id=130;
+----------+
| count(1) |
+----------+
| 1        |
+----------+
1 row in set (0.00 sec)

Kết quả 1 = tồn tại, 0 = không tồn tại.

Phương án thay thế: EXISTS

SELECT EXISTS(SELECT 1 FROM tenBang WHERE dieuKien);

Trả về 1 (true) hoặc 0 (false). EXISTS thường nhanh hơn vì dừng lại ngay khi tìm thấy hàng đầu tiên (short-circuit), trong khi COUNT phải quét toàn bộ index phù hợp.

Khuyên dùng: EXISTS cho kiểm tra boolean, COUNT(1) khi cần biết số lượng chính xác.