Mam tabelę PostgreSQL Prices
z kolumnami:
price
(Dziesiętny)product_id
(Int)
Istnieją również created_at
i updated_at
kolumny.
Ceny są regularnie aktualizowane i trzymam stare ceny w tabeli. Dla danego produktu ostatnia cena w tabeli jest ceną bieżącą.
Jaki jest najbardziej efektywny sposób uzyskania ostatniej ceny za konkretny produkt:
- Indeks
product_id
i zapytanie dotyczące ostatniego rekordu - Dodaj trzecią kolumnę
active
(wartość logiczna), aby zaznaczyć najnowszą cenę i utworzyć indeks złożony (product_id
iactive
) - Albo coś innego?
where active
prawdopodobnie jeszcze bardziej pomogłoby uzyskać najnowszy produkt.