I have the following query:

 *explain* (*analyze*, costs, timing) *SELECT*  rr.* *FROM* rpc rpc

                       *INNER* *JOIN* rr rr

                           *ON* rr.uuid = rpc.rr_id

                       *INNER* *JOIN* rs rs

                           *ON* rs.r_id = rpc.r_id

                       *INNER* *JOIN* *role* r

                           *ON* r.uuid = rs.r_id

                       *LEFT* *JOIN* spc spc

                           *ON* spc.rr_id = rpc.rr_id

                   *WHERE* rs.s_id = 'caa767b8-8371-43a3-aa11-d1dba1893601'

                       *and* spc.s_id  =
'caa767b8-8371-43a3-aa11-d1dba1893601'

                       *and* spc.rd_id  =
'9f33c45a-90c2-4e05-a42e-048ec1f2b2fa'

                       *AND* rpc.rd_id =
'9f33c45a-90c2-4e05-a42e-048ec1f2b2fa'

                       *AND* rpc.c_id =
'9fd29fdc-15fd-40bb-b85d-8cfe99734987'

                       *and* spc.c_id  =
'9fd29fdc-15fd-40bb-b85d-8cfe99734987'

                       *AND* rr.b_id = 'xyz'

                       *AND* (('GLOBAL' = ' NO_PROJECT_ID + "' ) *OR* (rr.
p_id = 'GLOBAL'))

                       *AND* spc.permission_type *IS* *null* *and* spc.
is_active  = *true*

                       *AND* rpc.is_active = *true* *AND* rr.is_active =
*true* *AND* rs.is_active = *true* *AND* r.is_active = *true*


I don't think it is super complex. But when I run explain analyze on this I
get the following:

Planning Time: 578.068 ms
Execution Time: 0.113 ms

This is a huge deviation in planning vs. execution times. The explain plan
looks good since the execution time is < 1ms. It doesn't matter though
since the planning time is high. I don't see anything in the explain
analyze output that tells me why the planning time is high. On average, the
tables being joined have 3 indexes/table. How can I debug this?

Been stuck on this for weeks. Any help is appreciated. Thank you!

Saurabh

Reply via email to