Tôi có một bảng PostgreSQL Prices, với các cột:
price(Số thập phân)product_id(Int)
Ngoài ra còn có created_atvà updated_atcột.
Giá được cập nhật thường xuyên và tôi giữ giá cũ trong bảng. Đối với một sản phẩm nhất định, giá cuối cùng trong bảng là giá hiện tại.
Cách hiệu quả nhất để có được giá cuối cùng cho một sản phẩm cụ thể là gì:
- Chỉ mục
product_idvà truy vấn cho bản ghi cuối cùng - Thêm cột thứ ba
active(Boolean) để đánh dấu giá mới nhất và tạo chỉ mục tổng hợp (product_idvàactive) - Hay cái gì khác?
where activecó thể sẽ giúp nhiều hơn để lấy sản phẩm mới nhất.