Tôi đoán rằng bạn có ít hàng trong bảng 'nhận xét', đây là lý do tại sao MySQL thực hiện quét toàn bộ bảng thay vì sử dụng chỉ mục trong truy vấn đầu tiên của bạn. Người ta ước tính rằng chi phí quét toàn bộ bảng có thể thấp hơn so với lần đầu tiên khớp chỉ mục và sau đó tra cứu các hàng.
Trong truy vấn thứ hai của bạn đang sử dụng chỉ mục vì có thể lấy trực tiếp tất cả các cột của truy vấn (cột 'id') từ chỉ mục mà không cần phải tra cứu các hàng trong bảng sau khi khớp với chỉ mục. Đây là ý nghĩa của thông tin phụ "Sử dụng chỉ mục".
Hãy thử nếu với một số lượng đáng kể các hàng trong 'nhận xét' MySQL vẫn sử dụng quét toàn bộ, tôi nghĩ rằng đó sẽ là một hành vi lạ. Trên thực tế, tôi đã thử nghiệm giống hệt như vậy trong MySQL phiên bản 5.1 và nó luôn sử dụng 'chỉ mục' ngay cả khi có ít hàng.