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

Có nên lập chỉ mục trường datetime trong mysql không?

MySQL khuyến nghị sử dụng các chỉ mục vì nhiều lý do bao gồm việc loại bỏ các hàng giữa các điều kiện: http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

Điều này làm cho cột ngày giờ của bạn trở thành một ứng cử viên xuất sắc cho một chỉ mục nếu bạn định sử dụng nó trong các điều kiện thường xuyên trong các truy vấn. Nếu điều kiện duy nhất của bạn là BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY) và bạn không có chỉ mục nào khác trong điều kiện, MySQL sẽ phải thực hiện quét toàn bộ bảng trên mọi truy vấn. Tôi không chắc có bao nhiêu hàng được tạo trong 30 ngày, nhưng miễn là nó ít hơn khoảng 1/3 tổng số hàng, thì việc sử dụng chỉ mục trên cột sẽ hiệu quả hơn.

Câu hỏi của bạn về việc tạo một cơ sở dữ liệu hiệu quả rất rộng. Tôi chỉ muốn đảm bảo rằng nó được chuẩn hóa và tất cả các cột thích hợp đều được lập chỉ mục (tức là những cột được sử dụng trong các phép nối và mệnh đề where).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để điền vào gridview với mysql?

  2. Thay đổi công cụ bảng trong MySQL

  3. Mệnh đề trả về Mysql tương đương

  4. Chọn ngày từ db của tôi mà không cần giây bằng PHP MySql

  5. Cách đặt lại / thay đổi dòng lệnh mật khẩu gốc MySql trong ubuntu linux