Sử dụng COUNT
, bên trong máy chủ sẽ xử lý yêu cầu theo cách khác.
Khi thực hiện COUNT
, máy chủ sẽ chỉ cấp phát bộ nhớ để lưu trữ kết quả của số lượng.
Khi sử dụng mysql_num_rows
, máy chủ sẽ xử lý toàn bộ tập kết quả, cấp phát bộ nhớ cho tất cả các kết quả đó và đặt máy chủ ở chế độ tìm nạp, bao gồm nhiều chi tiết khác nhau, chẳng hạn như khóa.
Hãy nghĩ về nó giống như các tình huống giả sau:
SELECT COUNT(*)
Này Bob, có bao nhiêu người trong lớp học?
mysql_num_rows
Này Bob, gửi tất cả những người trong lớp đến cho tôi, ... Tôi sẽ đếm họ để biết số người của chính mình
Tóm lại, khi sử dụng mysql_num_rows
bạn đang chuyển tất cả các bản ghi cho máy khách và máy khách sẽ phải tự tính toán số lượng.