Ich habe eine PostgreSQL-Tabelle Prices
mit den folgenden Spalten:
price
(Dezimal)product_id
(Int)
Es gibt auch created_at
und updated_at
Spalten.
Die Preise werden regelmäßig aktualisiert und ich behalte alte Preise in der Tabelle. Für ein bestimmtes Produkt ist der letzte Preis in der Tabelle der aktuelle Preis.
Was ist der effizienteste Weg, um den letzten Preis für ein bestimmtes Produkt zu erhalten:
- Index
product_id
und Abfrage für den letzten Datensatz - Fügen Sie eine dritte Spalte
active
(Boolean) hinzu, um den neuesten Preis zu markieren und einen zusammengesetzten Index zu erstellen (product_id
undactive
) - Oder etwas anderes?
where active
würde wahrscheinlich noch mehr dazu beitragen, das neueste Produkt abzurufen.