Đừng không sử dụng một cái gì đó như WHERE WEEK(column)=something
- đây là một kẻ giết hiệu suất:Nó sẽ tính toán số tuần trên tất cả các hàng, ngay cả khi chúng không khớp. Thêm vào đó, nó sẽ khiến bạn không thể sử dụng chỉ mục trên cột này.
Thay vào đó, hãy tính toán ngày bắt đầu và ngày kết thúc tuyệt đối hoặc thời điểm, tùy thuộc vào loại dữ liệu của bạn, sau đó sử dụng BETWEEN
. Điều này sẽ không thực hiện tính toán trên các hàng không khớp và cho phép sử dụng chỉ mục.
Quy tắc chung:Nếu bạn có sự lựa chọn giữa phép tính trên một hằng số và trên một trường, hãy sử dụng phương pháp trước.