Re: is it possible to make this faster?
От | Merlin Moncure |
---|---|
Тема | Re: is it possible to make this faster? |
Дата | |
Msg-id | b42b73150605261046w78e48f72j5f080db0e4ee5370@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: is it possible to make this faster? (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: is it possible to make this faster?
|
Список | pgsql-performance |
On 5/26/06, Tom Lane <tgl@sss.pgh.pa.us> wrote: > "Merlin Moncure" <mmoncure@gmail.com> writes: > > did you have a key on a,b,c? > Yeah, I did > create index t1i on t1 (a,b,c); > Do I need to use some other syntax to get it to work? can't thing of anything, I'm running completely stock, did you do a optimize table foo? is the wind blowing in the right direction? > > select count(*) from (select a,b,max(c) group by a,b) q; > > blows the high performance case as does putting the query in a view. > I noticed that too, while trying to suppress the returning of the > results for timing purposes ... still a few bugs in their optimizer > obviously. (Curiously, EXPLAIN still claims that the index is being > used.) well, they do some tricky things pg can't do for architectural reasons but the special case is obviously hard to get right. I suppose this kinda agrues against doing all kinds of acrobatics to optimize mvcc weak cases like the above and count(*)...better to make heap access as quick as possible. > > mysql> select user_id, acc_id, max(sample_date) from usage_samples group by 1,2 > > 939 rows in set (0.07 sec) > > mysql> select user_id, acc_id, max(sample_date) from usage_samples group by 1,2 > > 939 rows in set (1.39 sec) oops, pasted the wrong query..case 2 should have been select user_id, acc_id, max(sample_date), disksize from usage_samples group by 1,2 illustrating what going to the heap does to the time. merlin
В списке pgsql-performance по дате отправления: