Chà, tài liệu đưa ra lý do chính xác khi "Sử dụng tạm thời" sẽ xuất hiện:
Bảng tạm thời có thể được tạo trong các điều kiện như sau:
Nếu có mệnh đề ORDER BY và mệnh đề GROUP BY khác hoặc nếu ORDER BY hoặc GROUP BY chứa các cột từ các bảng khác với bảng đầu tiên trong hàng đợi nối, một bảng tạm thời sẽ được tạo.
DISTINCT kết hợp với ORDER BY có thể yêu cầu một bảng tạm thời.
Nếu bạn sử dụng tùy chọn SQL_SMALL_RESULT, MySQL sử dụng bảng tạm thời trong bộ nhớ, trừ khi truy vấn cũng chứa các phần tử (mô tả) yêu cầu lưu trữ trên đĩa.
Quét nhanh cho thấy bạn bị # 1.
Và blog này từ năm 2009 nói rằng "using filesort" có nghĩa là việc sắp xếp không thể được thực hiện với một chỉ mục. Vì bạn sắp xếp thứ tự theo một trường được tính toán, điều đó cũng sẽ đúng.
Vì vậy, đó là điều "sai".