Re: pg_stat_statements query normalization - Mailing list pgsql-performance

From Peter Geoghegan
Subject Re: pg_stat_statements query normalization
Date
Msg-id CAEYLb_V-=jBFgnTpy_LstoU6U8hiJ23uec-8GLp_nSiJG2SJOw@mail.gmail.com
Whole thread Raw
In response to pg_stat_statements query normalization  (Sameer Thakur <samthakur74@gmail.com>)
Responses Re: pg_stat_statements query normalization
List pgsql-performance
On Sun, Jun 16, 2013 at 11:58 PM, Sameer Thakur <samthakur74@gmail.com> wrote:
> Consider query
> SELECT * FROM pgbench_branches LEFT JOIN pgbench_tellers ON
> pgbench_tellers.bid= pgbench_branches.bid WHERE pgbench_branches.bID=5
>
> Does this mean that all queries with just the constant changing are
> normalized
>
> pgbench_branches.bID=10,pgbench_branches.bID=15
>
> Or are queries where conditions changed included as well?

Why don't you play around with it and see for yourself? In general,
queries differing only in the values of constants are considered
equivalent by the fingerprinting. pg_stat_statements usefully ignores
differences in whitespace and equivalent syntaxes, by virtue of the
fact that ultimately the post-parse analysis tree is fingerprinted.
You might say that pg_stat_statements leverages the normalization
capabilities of the core system by working off this later
representation (essentially, the internal representation that the
rewriter stage processes).


--
Regards,
Peter Geoghegan


pgsql-performance by date:

Previous
From: Sameer Thakur
Date:
Subject: pg_stat_statements query normalization
Next
From: Josh Berkus
Date:
Subject: Re: 9.2.2 - semop hanging