Chỉ một gợi ý khi nói đến chỉ mục trên datetime trong msql là dấu chân chỉ mục tác động đến thời gian tìm kiếm (Vâng, điều này có vẻ hiển nhiên ... nhưng vui lòng đọc tiếp).
Giá trị này khi lập chỉ mục vào datetime, chẳng hạn như '2015-06-05 22:47:20.102', chỉ mục phải tính đến mọi vị trí trong datetime. Điều này trở nên rất lớn về mặt không gian và cồng kềnh. Một cách tiếp cận thành công mà tôi đã tận dụng là tạo một cột ngày giờ mới và điền dữ liệu bằng cách làm tròn thời gian thành giờ và sau đó xây dựng chỉ mục dựa trên cột mới này. Ví dụ '2015-06-05 22:47:20.102' dịch thành '2015-06-05 22:00:00.000'. Bằng cách thực hiện phương pháp này, chúng tôi để riêng dữ liệu chi tiết và có thể hiển thị hoặc sử dụng nó bằng cách tìm kiếm trên cột mới này, điều này mang lại cho chúng tôi lợi tức xấp xỉ 10 lần (tối thiểu) về tốc độ trả về kết quả. Điều này là do chỉ mục không phải tính đến các trường phút, giây và mili giây.