Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn MySQL với bí danh không sử dụng chỉ mục

Đó là vì bí danh. ORDER BY có thể sử dụng một chỉ mục nếu nó được sắp xếp theo thứ gì đó được lập chỉ mục. Trong khi ceremonyDate ngày có thể được lập chỉ mục, YEAR(ceremoneyDate) thay đổi giá trị của ceremonyDate sang một cái gì đó hoàn toàn khác, vì vậy YEAR(ceremoneyDate) không được lập chỉ mục.

Và vì bạn không thể lập chỉ mục một bí danh, điều này có nghĩa là để cho một ORDER BY để sử dụng một chỉ mục, nó phải là một tên cột đơn giản hoặc danh sách các tên cột.

Bạn có thể thực hiện việc này và sử dụng chỉ mục:

SELECT ordinal,YEAR(ceremonydate) as yr 
FROM awardinfo 
ORDER BY ceremonydate DESC LIMIT 1;

Nếu không biết dữ liệu của bạn trông như thế nào, thay vào đó, dữ liệu đó có thể phù hợp với bạn.

Thông tin thêm: http://dev.mysql. com / doc / refman / 5.0 / en / order-by -mize.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. trường varchar đặt hàng mysql dưới dạng số nguyên

  2. Quyền xem / cập nhật / quản lý tài nguyên lồng nhau của MySQL (bảng tổng hợp)

  3. MySQL CASE hoạt động như thế nào?

  4. Laravel 5.5 không thể hiển thị biểu đồ động bằng gói biểu đồ của ConsoleTV

  5. tạo người dùng trong mysql bằng java