Re: Query performance

From: Richard Huxton <dev(at)archonet(dot)com>
To: Bill <bill(at)math(dot)uchicago(dot)edu>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Query performance
Date: 2004-06-29 08:37:49
Message-ID: 40E12A5D.70007@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Bill wrote:
> Ok....so here lies the output of oclh (i.e "\d oclh")
>
> Table "public.oclh"
> Column | Type | Modifiers
> --------+-----------------------+-------------------------------
> symbol | character varying(10) | not null default ''
> date | date | not null default '0001-01-01'
> open | numeric(12,2) | not null default '0.00'
> close | numeric(12,2) | not null default '0.00'
> low | numeric(12,2) | not null default '0.00'
> high | numeric(12,2) | not null default '0.00'
> Indexes: symbol_2_oclh_index btree (symbol, date),
> symbol_oclh_index btree (symbol, date)

Well, I'm not sure why the two indexes on the same columns, and I'm not
sure it makes sense to have defaults for _any_ of the columns there.

So - you want:
1. ratio = abs(closing-opening)/opening
2. average = all the ratios of each day of each stock
3. Highest average

Well, I don't know what you mean by #2, but #1 is just:

SELECT
symbol,
"date",
abs(close - open)/open AS ratio
FROM
oclh
GROUP BY
symbol, date;

I'd probably fill in a summary table with this and use that as the basis
for your further queries. Presumably from "yesterday" back, the
ratios/averages won't change.

--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Harald Lau (Sector-X) 2004-06-29 08:46:27 Re: no index-usage on aggregate-functions?
Previous Message Chris Cheston 2004-06-29 08:37:30 Re: postgres 7.4 at 100%