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_at
và updated_at
cộ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_id
và 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_id
vàactive
) - Hay cái gì khác?
where active
có thể sẽ giúp nhiều hơn để lấy sản phẩm mới nhất.