Nếu DELETE
của bạn nhằm loại bỏ phần lớn các hàng trong bảng đó, một điều mà mọi người thường làm là chỉ sao chép các hàng bạn muốn giữ lại vào một bảng trùng lặp, sau đó sử dụng DROP TABLE
hoặc TRUNCATE
để xóa sạch bảng gốc nhanh hơn nhiều.
Chỉ mục có thể giúp tìm các hàng bạn cần xóa, nhưng việc xóa yêu cầu cập nhật chỉ mục. Sau khi xóa nhiều hàng, chỉ mục có thể bị mất cân bằng và yêu cầu bảo trì với OPTIMIZE TABLE
.
DATE_SUB()
hàm là một biểu thức hằng số (nó không thay đổi theo từng hàng) vì vậy trình tối ưu hóa truy vấn phải đủ thông minh để phân tích và thực hiện phép tính một lần.
Bạn không cần tạo thêm chỉ mục cho khóa chính. Ràng buộc khóa chính hoàn toàn tạo ra một chỉ mục mang lại lợi ích tương tự như một chỉ mục không phải khóa chính.
Chỉ mục kết hợp có thể hữu ích như chỉ mục một cột, miễn là tiêu chí tìm kiếm của bạn tham chiếu đến (các) cột ngoài cùng bên trái của chỉ mục. Cảnh báo "có thể" là do các nút chỉ mục riêng lẻ lớn hơn và do đó, cần nhiều bộ nhớ hơn để lưu chỉ mục vào bộ nhớ cache, nhưng đây là một yếu tố đủ nhỏ để tôi sẽ không tạo toàn bộ chỉ mục cột đơn khác.