Re: Query performance

Поиск
Список
Период
Сортировка
От Mischa Sandberg
Тема Re: Query performance
Дата
Msg-id JXNDc.27548$_5.7680@clgrps13
обсуждение исходный текст
Ответ на Query performance  ("Bill" <bill@math.uchicago.edu>)
Список pgsql-performance
Usually, when you post a request like this, you should provide something a little more concrete (the CREATE TABLE statement for that table, with
Since you didn't, I'll posit something that sounds like what you're using, and take a stab at your problem.
 
TABLE Prices (
    stock    VARCHAR(9)
    ,asof         DATE,
    ,opening   MONEY
    ,closing    MONEY
    ,PRIMARY KEY (stock, asof)
    )
 
SELECT    stock, AVG((closing-opening)/opening) as ratio
FROM    Prices
GROUP BY stock
ORDER BY ratio DESC LIMIT 10;    -- top 10 best-performing stocks.
 

Actually, I have some queries that are slow, however I was wondering if you could help me write a query that is rather simple, but I, as a true database novice, can't seem to conjure.  So we have stocks, as I have previously said, and I have a huge table which contains all of the opening and closing prices of some stocks from each day.  What I like to do, in English, for each stock in each day is find a ratio: abs(closing-opening)/opening.  Then I would like to average all of the ratios of each day of each individual stock together to find a final ratio for each stock, then I would like to find the highest average, to find the best performing stock.  So what query can I use, and (as is appropriate for this group), how can it be optimized to run the fastest?

 

В списке pgsql-performance по дате отправления:

Предыдущее
От: Roger Ging
Дата:
Сообщение: Re: How can one see what queries are running withing a
Следующее
От: "P.A.M. van Dam "
Дата:
Сообщение: Re: How can one see what queries are running withing a