Re: Do parallel queries work with only dblink not with fdw?
От | Marc Mamin |
---|---|
Тема | Re: Do parallel queries work with only dblink not with fdw? |
Дата | |
Msg-id | B6F6FD62F2624C4C9916AC0175D56D8842135373@jenmbs01.ad.intershop.net обсуждение исходный текст |
Ответ на | Do parallel queries work with only dblink not with fdw? ("Klaus P." <kpi6288@gmail.com>) |
Ответы |
Re: Do parallel queries work with only dblink not with fdw?
|
Список | pgsql-general |
>From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Klaus P. >Sent: Mittwoch, 4. Mai 2016 10:28 >To: pgsql-general@postgresql.org >Subject: [GENERAL] Do parallel queries work with only dblink not with fdw? > >In order to improve cpu and disk utilization, I am testing parallel queries. > >The approach with dblink_send_query() and dblink_get_result() works in my proof-of-concept. Runtime of my reference querywas reduced from 55 seconds to ~20seconds using 4 parallel connections. Not what I had hoped but certainly a significantimprovement. >My approach is fairly easy: >db_link_send_query('conn1', 'statement based on partitioning field'); >db_link_send_query('conn2', 'statement based on partitioning field'); > >... >SELECT >dblink_get_result('conn1') >UNION ALL >dblink_get_result('conn2') > >... Hello, I'm using the db_link approach too, but rather than using dblink_get_result, I store the result in an additional table. This was faster, at least for my use case and at the time when I implemented that solution... something like db_link_send_query('conn0', 'CREATE UNLOGGED TABLE my_result... db_link_send_query('conn1', 'INSERT INTO my_result statement based on partitioning field'); db_link_send_query('conn2', 'INSERT INTO my_result statement based on partitioning field'); ... select * from my_result regards, Marc Mamin
В списке pgsql-general по дате отправления: