Andres Freund <and...@anarazel.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


Reply via email to