Re: Speeding up Aggregates
От | Josh Berkus |
---|---|
Тема | Re: Speeding up Aggregates |
Дата | |
Msg-id | 200310031407.10343.josh@agliodbs.com обсуждение исходный текст |
Ответ на | Speeding up Aggregates (Dror Matalon <dror@zapatec.com>) |
Ответы |
Re: Speeding up Aggregates
|
Список | pgsql-performance |
Dror, > select articlenumber, channel, description, title, link, dtstamp from > items, my_channels where items.channel = '22222' and my_channels.id = > '22222' and owner = 'drormata' and dtstamp > last_viewed and > articlenumber not in (select item from viewed_items where channel > ='22222' and owner = 'drormata'); the NOT IN is a bad idea unless the subselect never returns more than a handful of rows. If viewed_items can grow to dozens of rows, wyou should use WHERE NOT EXISTS instead. Unless you're using 7.4. > item_max_date() looks like this: > select max(dtstamp) from items where channel = $1 and link = $2; Change it to SELECT dtstamp from iterm where channel = $1 and link = $2 ORDER BY dtstamp DESC LIMIT 1 and possibly build an index on channel, link, dtstamp -- -Josh Berkus Aglio Database Solutions San Francisco
В списке pgsql-performance по дате отправления: