Re: Flattening a kind of 'dynamic' table
От | Alexandre Leclerc |
---|---|
Тема | Re: Flattening a kind of 'dynamic' table |
Дата | |
Msg-id | 1dc7f0e305020412085bef5611@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Flattening a kind of 'dynamic' table ("Merlin Moncure" <merlin.moncure@rcsonline.com>) |
Список | pgsql-performance |
On Fri, 4 Feb 2005 12:48:43 -0500, Merlin Moncure <merlin.moncure@rcsonline.com> wrote: > > Alexandre Leclerc wrote: > > Sorry for jumping in on this thread so late -- I haven't been able to > > select * from crosstab( > > 'select product_id, department_id, req_time > > from product_department_time order by 1', > > 'select ''A'' union all select ''C'' union all select ''D''' > > ) as (product_id int, a int, c int, d int); > > I forgot you could do this...This would certainly be easier than parsing > array values returned from array_accum. It will probably be faster as > well...but with the array approach the query would not have to be > modified each time a new department was added. That said, a crosstab > based query could be built easily enough from a department query on the > client and then you have the best of both worlds. Hello Merlin, Well, I'm glad because with all this i've learn a lot of new things. Finally, the crosstab solution is very fast and is simple for me to use. I get my super-bug-jumbo-dbkiller-query run in about 210ms (seeking many tables and so). I had a score of 2480ms before. (This is a much more complex query; the cross table thing had to be included in this one.) This is much better! :) In all, thanks for your help. Regards. -- Alexandre Leclerc
В списке pgsql-performance по дате отправления: