Re: pg_stat_statements query normalization

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

 



On Sun, Jun 16, 2013 at 11:58 PM, Sameer Thakur <samthakur74@xxxxxxxxx> 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


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




[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux