Recursive merging of overlapping arrays in a column

From: dave <audiotecture(at)web(dot)de>
To: pgsql-sql(at)postgresql(dot)org
Subject: Recursive merging of overlapping arrays in a column
Date: 2015-09-20 11:12:36
Message-ID: 1442747556700-5866560.post@n5.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hey mailing list,

i have the following Table:

I want to merge the arrays which have overlapping elements, so that I get
the result which doesn't contain overlapping arrays anymore:

I am not an expert in SQL and it took me a long time to come up with this
solution:

Which gives me the result:

Result number 3 is contained in number one and shouldn't be in the output
anymore, because I only want non overlapping arrays in the result.

Another problem I encountered is that the performance of this query seems to
be very bad. I tried running it on a larger table (~400000 arrays) and it is
still running after ~10h.

I would appreciate any input on this problems, so it would be nice if anyone
could give me a hint how to get only the merged arrays without overlaps in
the resultset and maybe how to build a more elegant and efficient query.

Thanks in advance,

Dave

--
View this message in context: http://postgresql.nabble.com/Recursive-merging-of-overlapping-arrays-in-a-column-tp5866560.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rob Sargent 2015-09-20 14:00:00 Re: Recursive merging of overlapping arrays in a column
Previous Message gmb 2015-09-16 04:45:44 Re: View not using index