Re: best db schema for time series data?
От | Arjen van der Meijden |
---|---|
Тема | Re: best db schema for time series data? |
Дата | |
Msg-id | 4CE2688B.2050000@tweakers.net обсуждение исходный текст |
Ответ на | best db schema for time series data? (Louis-David Mitterrand <vindex+lists-pgsql-performance@apartia.org>) |
Ответы |
Re: best db schema for time series data?
|
Список | pgsql-performance |
On 16-11-2010 11:50, Louis-David Mitterrand wrote: > I have to collect lots of prices from web sites and keep track of their > changes. What is the best option? > > 1) one 'price' row per price change: > > create table price ( > id_price primary key, > id_product integer references product, > price integer > ); > > 2) a single 'price' row containing all the changes: > > create table price ( > id_price primary key, > id_product integer references product, > price integer[] -- prices are 'pushed' on this array as they change > ); > > Which is bound to give the best performance, knowing I will often need > to access the latest and next-to-latest prices? If you mostly need the last few prices, I'd definitaly go with the first aproach, its much cleaner. Besides, you can store a date/time per price, so you know when it changed. With the array-approach that's a bit harder to do. If you're concerned with performance, introduce some form of a materialized view for the most recent price of a product. Or reverse the entire process and make a "current price"-table and a "price history"-table. Best regards, Arjen
В списке pgsql-performance по дате отправления: