Chúng tôi có một bảng trong cơ sở dữ liệu PostgreSQL đang phát triển theo thứ tự hàng triệu hàng mỗi ngày.
Mỗi hàng bao gồm:
ID
Foreign user ID
Date and time
Other data
Ngày và giờ không hoàn toàn đơn điệu với ID
, tuy nhiên chúng gần nhau.
Khi truy vấn bảng này, chúng tôi chỉ quan tâm đến việc nhận hàng cho một ID người dùng nước ngoài nhất định, với ngày và giờ trong hai tuần qua. Hàng hơn hai tuần tuổi sẽ không bao giờ được truy vấn, tuy nhiên chúng tôi muốn giữ chúng cho mục đích lưu trữ.
Cho trường hợp sử dụng đặc biệt này:
- Chúng ta có nên có một chỉ mục trên cột ngày và thời gian?
- Có bất cứ gợi ý nào chúng tôi có thể đưa ra rằng ngày và giờ (gần như) tăng đơn điệu với ID.
- Chúng ta có nên xem xét việc cố gắng loại bỏ các hàng cũ hơn hai tuần khỏi bảng, điều đó có khả năng cải thiện hiệu suất không?
active
cờ có thể được sử dụng để tạo một chỉ mục một phần, nhưng điều đó sẽ yêu cầu đặt các hàng "cũ" thànhactive = false
ví dụ như một công việc định kỳ