mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
Improve wordings by David Fuhry <dfuhry@cs.kent.edu>
This commit is contained in:
parent
18a963778a
commit
bcbb402e31
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.87 2006/09/16 00:30:12 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.88 2006/09/18 12:11:36 teodor Exp $ -->
|
||||||
|
|
||||||
<chapter Id="runtime-config">
|
<chapter Id="runtime-config">
|
||||||
<title>Server Configuration</title>
|
<title>Server Configuration</title>
|
||||||
@ -2180,7 +2180,7 @@ SELECT * FROM parent WHERE key = 2400;
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Soft upper limit of the size of the returned set by GIN index. For more
|
Soft upper limit of the size of the set returned by GIN index. For more
|
||||||
information see <xref linkend="gin-tips">.
|
information see <xref linkend="gin-tips">.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.3 2006/09/14 21:15:07 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.4 2006/09/18 12:11:36 teodor Exp $ -->
|
||||||
|
|
||||||
<chapter id="GIN">
|
<chapter id="GIN">
|
||||||
<title>GIN Indexes</title>
|
<title>GIN Indexes</title>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<para>
|
<para>
|
||||||
<acronym>GIN</acronym> stands for Generalized Inverted Index. It is
|
<acronym>GIN</acronym> stands for Generalized Inverted Index. It is
|
||||||
an index structure storing a set of (key, posting list) pairs, where
|
an index structure storing a set of (key, posting list) pairs, where
|
||||||
'posting list' is a set of rows in which the key occurs. The
|
'posting list' is a set of rows in which the key occurs. Each
|
||||||
row may contain many keys.
|
row may contain many keys.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -104,7 +104,8 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns an array of keys of the query to be executed. n contains
|
Returns an array of keys of the query to be executed. n contains
|
||||||
strategy number of operation (see <xref linkend="xindex-strategies">).
|
the strategy number of the operation
|
||||||
|
(see <xref linkend="xindex-strategies">).
|
||||||
Depending on n, query may be different type.
|
Depending on n, query may be different type.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -114,9 +115,9 @@
|
|||||||
<term>bool consistent( bool check[], StrategyNumber n, Datum query)</term>
|
<term>bool consistent( bool check[], StrategyNumber n, Datum query)</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns TRUE if indexed value satisfies query qualifier with strategy n
|
Returns TRUE if the indexed value satisfies the query qualifier with
|
||||||
(or may satisfy in case of RECHECK mark in operator class).
|
strategy n (or may satisfy in case of RECHECK mark in operator class).
|
||||||
Each element of the check array is TRUE if indexed value has a
|
Each element of the check array is TRUE if the indexed value has a
|
||||||
corresponding key in the query: if (check[i] == TRUE ) the i-th key of
|
corresponding key in the query: if (check[i] == TRUE ) the i-th key of
|
||||||
the query is present in the indexed value.
|
the query is present in the indexed value.
|
||||||
</para>
|
</para>
|
||||||
@ -135,10 +136,10 @@
|
|||||||
<term>Create vs insert</term>
|
<term>Create vs insert</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
In most cases, insertion into <acronym>GIN</acronym> index is slow because
|
In most cases, insertion into <acronym>GIN</acronym> index is slow
|
||||||
many GIN keys may be inserted for each table row. So, when loading data
|
due to the likelihood of many keys being inserted for each value.
|
||||||
in bulk it may be useful to drop index and recreate it
|
So, for bulk insertions into a table it is advisable to to drop the GIN
|
||||||
after the data is loaded in the table.
|
index and recreate it after finishing bulk insertion.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -147,7 +148,7 @@
|
|||||||
<term>gin_fuzzy_search_limit</term>
|
<term>gin_fuzzy_search_limit</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The primary goal of development <acronym>GIN</acronym> indices was
|
The primary goal of developing <acronym>GIN</acronym> indices was
|
||||||
support for highly scalable, full-text search in
|
support for highly scalable, full-text search in
|
||||||
<productname>PostgreSQL</productname> and there are often situations when
|
<productname>PostgreSQL</productname> and there are often situations when
|
||||||
a full-text search returns a very large set of results. Since reading
|
a full-text search returns a very large set of results. Since reading
|
||||||
@ -158,7 +159,7 @@
|
|||||||
<para>
|
<para>
|
||||||
Such queries usually contain very frequent words, so the results are not
|
Such queries usually contain very frequent words, so the results are not
|
||||||
very helpful. To facilitate execution of such queries
|
very helpful. To facilitate execution of such queries
|
||||||
<acronym>GIN</acronym> has a configurable soft upper limit of the size
|
<acronym>GIN</acronym> has a configurable soft upper limit of the size
|
||||||
of the returned set, determined by the
|
of the returned set, determined by the
|
||||||
<varname>gin_fuzzy_search_limit</varname> GUC variable. It is set to 0 by
|
<varname>gin_fuzzy_search_limit</varname> GUC variable. It is set to 0 by
|
||||||
default (no limit).
|
default (no limit).
|
||||||
@ -182,16 +183,16 @@
|
|||||||
<title>Limitations</title>
|
<title>Limitations</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<acronym>GIN</acronym> doesn't support full scan of index due to it's
|
<acronym>GIN</acronym> doesn't support full index scans due to their
|
||||||
extremely inefficiency: because of a lot of keys per value,
|
extremely inefficiency: because there are often many keys per value,
|
||||||
each heap pointer will returned several times.
|
each heap pointer will returned several times.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
When extractQuery returns zero number of keys, <acronym>GIN</acronym> will
|
When extractQuery returns zero keys, <acronym>GIN</acronym> will emit a
|
||||||
emit a error: for different opclass and strategy semantic meaning of void
|
error: for different opclasses and strategies the semantic meaning of a void
|
||||||
query may be different (for example, any array contains void array,
|
query may be different (for example, any array contains the void array,
|
||||||
but they aren't overlapped with void one), and <acronym>GIN</acronym> can't
|
but they don't overlap the void array), and <acronym>GIN</acronym> can't
|
||||||
suggest reasonable answer.
|
suggest reasonable answer.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.63 2006/09/16 00:30:14 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.64 2006/09/18 12:11:36 teodor Exp $ -->
|
||||||
|
|
||||||
<chapter id="indexes">
|
<chapter id="indexes">
|
||||||
<title id="indexes-title">Indexes</title>
|
<title id="indexes-title">Indexes</title>
|
||||||
@ -248,7 +248,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
|
|||||||
<see>index</see>
|
<see>index</see>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
GIN is a inverted index and it's usable for values which have more
|
GIN is a inverted index and it's usable for values which have more
|
||||||
than one key, arrays for example. Like to GiST, GIN may support
|
than one key, arrays for example. Like GiST, GIN may support
|
||||||
many different user-defined indexing strategies and the particular
|
many different user-defined indexing strategies and the particular
|
||||||
operators with which a GIN index can be used vary depending on the
|
operators with which a GIN index can be used vary depending on the
|
||||||
indexing strategy.
|
indexing strategy.
|
||||||
@ -266,7 +266,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
|
|||||||
|
|
||||||
(See <xref linkend="functions-array"> for the meaning of
|
(See <xref linkend="functions-array"> for the meaning of
|
||||||
these operators.)
|
these operators.)
|
||||||
Another GIN operator classes are available in the <literal>contrib</>
|
Other GIN operator classes are available in the <literal>contrib</>
|
||||||
tsearch2 and intarray modules. For more information see <xref linkend="GIN">.
|
tsearch2 and intarray modules. For more information see <xref linkend="GIN">.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/mvcc.sgml,v 2.61 2006/09/17 22:50:31 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/mvcc.sgml,v 2.62 2006/09/18 12:11:36 teodor Exp $ -->
|
||||||
|
|
||||||
<chapter id="mvcc">
|
<chapter id="mvcc">
|
||||||
<title>Concurrency Control</title>
|
<title>Concurrency Control</title>
|
||||||
@ -993,10 +993,12 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
|
|||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Short-term share/exclusive page-level locks are used for
|
Short-term share/exclusive page-level locks are used for
|
||||||
read/write access. Locks are released immediately after each
|
read/write access. Locks are released immediately after each
|
||||||
index row is fetched or inserted. However, note that a GIN index
|
index row is fetched or inserted. But note that a GIN-indexed
|
||||||
usually requires several inserts for each table row.
|
value insertion usually produces several index key insertions
|
||||||
|
per row, so GIN may do substantial work for a single value's
|
||||||
|
insertion.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.48 2006/09/16 00:30:16 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.49 2006/09/18 12:11:36 teodor Exp $ -->
|
||||||
|
|
||||||
<sect1 id="xindex">
|
<sect1 id="xindex">
|
||||||
<title>Interfacing Extensions To Indexes</title>
|
<title>Interfacing Extensions To Indexes</title>
|
||||||
@ -243,8 +243,8 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
GIN indexes are similar to GiST in flexibility: it hasn't a fixed set
|
GIN indexes are similar to GiST's in flexibility: they don't have a fixed
|
||||||
of strategies. Instead, the <quote>consistency</> support routine
|
et of strategies. Instead, the <quote>consistency</> support routine
|
||||||
interprets the strategy numbers accordingly with operator class
|
interprets the strategy numbers accordingly with operator class
|
||||||
definition. As an example, strategies of operator class over arrays
|
definition. As an example, strategies of operator class over arrays
|
||||||
is shown in <xref linkend="xindex-gin-array-strat-table">.
|
is shown in <xref linkend="xindex-gin-array-strat-table">.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user