From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: subtransaction performance regression [kind of] due to snapshot caching |
Date: | 2021-04-06 04:47:13 |
Message-ID: | 947172.1617684433@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)de> writes:
> The time in 14 is spent mostly below:
> - 94.58% 0.01% postgres postgres [.] CreateFunction
> - 94.57% CreateFunction
> - 94.49% ProcedureCreate
> - 90.95% record_object_address_dependencies
> - 90.93% recordMultipleDependencies
> - 89.65% isObjectPinned
> - 89.12% systable_getnext
> - 89.06% index_getnext_slot
> - 56.13% index_fetch_heap
> - 54.82% table_index_fetch_tuple
> + 53.79% heapam_index_fetch_tuple
> 0.07% heap_hot_search_buffer
> 0.01% ReleaseAndReadBuffer
> 0.01% LockBuffer
> 0.08% heapam_index_fetch_tuple
Not wanting to distract from your point about xactCompletionCount,
but ... I wonder if we could get away with defining "isObjectPinned"
as "is the OID <= 9999" (and, in consequence, dropping explicit pin
entries from pg_depend). I had not previously seen a case where the
cost of looking into pg_depend for this info was this much of the
total query runtime.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2021-04-06 04:56:39 | Re: Table refer leak in logical replication |
Previous Message | Fujii Masao | 2021-04-06 04:46:59 | Re: Get memory contexts of an arbitrary backend process |