[GENERAL] Joining 16 tables seems slow - Mailing list pgsql-general

From Frank Millman
Subject [GENERAL] Joining 16 tables seems slow
Date
Msg-id A6E3B63173EC4D3897C9F06B85319E22@FrankLaptop
Whole thread Raw
Responses Re: [GENERAL] Joining 16 tables seems slow  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
Hi all
 
I am using 9.4.4 on Fedora 22.
 
I am experimenting with optimising a SQL statement. One version uses 4 LEFT JOIN’s and a 5-way CASE statement in the body. The second moves the filtering into the JOIN section, and I end up with 16 LEFT JOIN’s and no CASE statements.
 
My test involves selecting a single row. Both versions work. The first version takes 0.06 seconds. The second takes 0.23 seconds. On further experimentation, the time for the second one seems to taken in setting up the joins, because if I omit selecting anything from the joined tables, it still takes 0.23 seconds.
 
Exactly the same exercise on Sql Server results in 0.06 seconds for both versions.
 
I realise that, if I was selecting a large number of rows, 0.23 seconds is trivial and the overall result could be different. But still, it seems odd.
 
Is this normal, or should I investigate further?
 
Frank Millman
 

pgsql-general by date:

Previous
From: Yogesh Sharma
Date:
Subject: [GENERAL] Perl script is killed by SIGPIPE
Next
From: Pavel Stehule
Date:
Subject: Re: [GENERAL] Joining 16 tables seems slow