ฉันมีตาราง PostgreSQL Prices
โดยมีคอลัมน์:
price
(ทศนิยม)product_id
(Int)
นอกจากนี้ยังมีcreated_at
และupdated_at
คอลัมน์
ราคาอัพเดทเป็นประจำและฉันเก็บราคาเก่าไว้ในตาราง สำหรับผลิตภัณฑ์ที่กำหนดราคาสุดท้ายในตารางคือราคาปัจจุบัน
วิธีที่มีประสิทธิภาพที่สุดในการรับราคาสุดท้ายสำหรับผลิตภัณฑ์เฉพาะคืออะไร:
- ดัชนี
product_id
และแบบสอบถามสำหรับระเบียนสุดท้าย - เพิ่มคอลัมน์ที่สาม
active
(บูลีน) เพื่อทำเครื่องหมายราคาล่าสุดและสร้างดัชนีคอมโพสิต (product_id
และactive
) - หรืออย่างอื่น?
where active
อาจช่วยได้มากขึ้นในการเรียกค้นผลิตภัณฑ์ล่าสุด