Commit fb8b38e4 authored by Tom Lane's avatar Tom Lane

Add a couple of notes pointing out that GIN index build time is very

sensitive to maintenance_work_mem (something I just learned the hard
way).
parent f639df0d
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.12 2007/11/13 23:36:26 tgl Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.13 2007/11/16 03:23:07 tgl Exp $ -->
<chapter id="GIN"> <chapter id="GIN">
<title>GIN Indexes</title> <title>GIN Indexes</title>
...@@ -161,6 +161,17 @@ ...@@ -161,6 +161,17 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><xref linkend="guc-maintenance-work-mem"></term>
<listitem>
<para>
Build time for a <acronym>GIN</acronym> index is very sensitive to
the <varname>maintenance_work_mem</> setting; it doesn't pay to
skimp on work memory during index creation.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><xref linkend="guc-gin-fuzzy-search-limit"></term> <term><xref linkend="guc-gin-fuzzy-search-limit"></term>
<listitem> <listitem>
...@@ -177,8 +188,8 @@ ...@@ -177,8 +188,8 @@
</para> </para>
<para> <para>
To facilitate controlled execution of such queries To facilitate controlled execution of such queries
<acronym>GIN</acronym> has a configurable soft upper limit on the size <acronym>GIN</acronym> has a configurable soft upper limit on the
of the returned set, the number of rows returned, the
<varname>gin_fuzzy_search_limit</varname> configuration parameter. <varname>gin_fuzzy_search_limit</varname> configuration parameter.
It is set to 0 (meaning no limit) by default. It is set to 0 (meaning no limit) by default.
If a non-zero limit is set, then the returned set is a subset of If a non-zero limit is set, then the returned set is a subset of
......
<!-- $PostgreSQL: pgsql/doc/src/sgml/textsearch.sgml,v 1.35 2007/11/14 23:48:55 tgl Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/textsearch.sgml,v 1.36 2007/11/16 03:23:07 tgl Exp $ -->
<chapter id="textsearch"> <chapter id="textsearch">
<title id="textsearch-title">Full Text Search</title> <title id="textsearch-title">Full Text Search</title>
...@@ -3256,6 +3256,13 @@ EXPLAIN SELECT * FROM apod WHERE textsearch @@ to_tsquery('supernovae'); ...@@ -3256,6 +3256,13 @@ EXPLAIN SELECT * FROM apod WHERE textsearch @@ to_tsquery('supernovae');
lexemes better but are slower to update. lexemes better but are slower to update.
</para> </para>
<para>
Note that <acronym>GIN</acronym> index build time can often be improved
by increasing <xref linkend="guc-maintenance-work-mem">, while
<acronym>GiST</acronym> index build time is not sensitive to that
parameter.
</para>
<para> <para>
Partitioning of big collections and the proper use of GiST and GIN indexes Partitioning of big collections and the proper use of GiST and GIN indexes
allows the implementation of very fast searches with online update. allows the implementation of very fast searches with online update.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment