Search Postgresql Archives

Re: Seeing foreign key lookups in explain output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 20, 2011 at 16:12, Marti Raudsepp <marti@xxxxxxxxx> wrote:
> On Tue, Sep 20, 2011 at 15:35, Vincent de Phily
> <vincent.dephily@xxxxxxxxxxxxxxxxx> wrote:
>> The explain output will tell me it's using the index on t1's id, but it tells
>> me nothing about the seqscan that happens on t2 (because I forgot to add an
>> index on t2.ref).
>
> +1 for a TODO on adding foreign key trigger time to EXPLAIN ANALYZE output.

Sorry, that was too hasty. We already have that now in 9.0 and 9.1
(not sure when it was introduced)

create table a as select generate_series(1,10000) i;
create table b as select generate_series(1,10000) i;
alter table a add primary key (i);
alter table b add foreign key (i) references a (i) on delete cascade;
explain analyze delete from a;

                                                 QUERY PLAN
 -----------------------------------------------------------------------------------------------------------
 Delete  (cost=0.00..145.00 rows=10000 width=6) (actual
time=16.308..16.308 rows=0 loops=1)
   ->  Seq Scan on a  (cost=0.00..145.00 rows=10000 width=6) (actual
time=0.008..2.208 rows=10000 loops=1)
 Trigger for constraint b_i_fkey: time=6324.652 calls=10000
 Total runtime: 6342.406 ms

Notice the line "Trigger for constraint b_i_fkey"

Regards,
Marti

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux