Hoàn toàn là cái sau. Nó có thể lấy giá trị trực tiếp từ chỉ mục của PK, trong khi cái trước gần như chắc chắn yêu cầu quét bảng (trừ khi mọi cột đơn lẻ là một phần của chỉ mục; và thậm chí sau đó, nó phải lấy các giá trị từ tất cả các chỉ mục). Sau đó, tùy thuộc vào cách bạn đang kết nối với DB, có một lượng lớn quá trình truyền dữ liệu chỉ để đếm.
explain
có thể giúp đỡ ở đây. Trong trường hợp này, nó sẽ cho bạn biết rằng lựa chọn đã được tối ưu hóa.