Re: Planner question - "bit" data types

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

 



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

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

  Powered by Linux