Ich habe eine PostgreSQL-Tabelle Pricesmit den folgenden Spalten:
price(Dezimal)product_id(Int)
Es gibt auch created_atund updated_atSpalten.
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_idund 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_idundactive) - Oder etwas anderes?
where activewürde wahrscheinlich noch mehr dazu beitragen, das neueste Produkt abzurufen.