Bruce Momjian wrote: > Alvaro Herrera wrote: > > Karl Denninger escribi?: > > > > > The individual boolean fields don't kill me and in terms of some of the > > > application issues they're actually rather easy to code for. > > > > > > The problem with re-coding for them is extensibility (by those who > > > install and administer the package); a mask leaves open lots of extra > > > bits for "site-specific" use, where hard-coding booleans does not, and > > > since the executable is a binary it instantly becomes a huge problem for > > > everyone but me. > > > > Did you try hiding the bitmask operations inside a function as Tom > > suggested? > > Yes. In addition, functions that are part of expression indexes do get > their own optimizer statistics, so it does allow you to get optimizer > stats for your test without having to use booleans. > > I see this documented in the 8.0 release notes: > > * "ANALYZE" now collects statistics for expression indexes (Tom) > Expression indexes (also called functional indexes) allow users > to index not just columns but the results of expressions and > function calls. With this release, the optimizer can gather and > use statistics about the contents of expression indexes. This will > greatly improve the quality of planning for queries in which an > expression index is relevant. > > Is this in our main documentation somewhere? Added with attached, applied patch. -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com PG East: http://www.enterprisedb.com/community/nav-pg-east-2010.do + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/maintenance.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v retrieving revision 1.99 diff -c -c -r1.99 maintenance.sgml *** doc/src/sgml/maintenance.sgml 8 Feb 2010 04:33:51 -0000 1.99 --- doc/src/sgml/maintenance.sgml 23 Feb 2010 02:46:21 -0000 *************** *** 318,323 **** --- 318,331 ---- SET STATISTICS</>, or change the database-wide default using the <xref linkend="guc-default-statistics-target"> configuration parameter. </para> + + <para> + Also, by default there is limited information available about + the selectivity of functions. However, if you create an expression + index that uses a function call, useful statistics will be + gathered about the function, which can greatly improve query + plans that use the expression index. + </para> </tip> </sect2>
-- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance