|
|
|
|
@ -748,8 +748,9 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
In some situations it is worthwhile to rebuild indexes periodically |
|
|
|
|
with the <xref linkend="sql-reindex"> |
|
|
|
|
command. |
|
|
|
|
with the <xref linkend="sql-reindex"> command or a series of individual |
|
|
|
|
rebuilding steps. |
|
|
|
|
|
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
@ -775,6 +776,23 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu |
|
|
|
|
(This consideration does not apply to non-B-tree indexes.) It |
|
|
|
|
might be worthwhile to reindex periodically just to improve access speed. |
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
<xref linkend="sql-reindex"> can be used safely and easily in all cases. |
|
|
|
|
But since the command requires an exclusive table lock, it is |
|
|
|
|
often preferable to execute an index rebuild with a sequence of |
|
|
|
|
creation and replacement steps. Index types that support |
|
|
|
|
<xref linkend="sql-createindex"> with the <literal>CONCURRENTLY</> |
|
|
|
|
option can instead be recreated that way. If that is successful and the |
|
|
|
|
resulting index is valid, the original index can then be replaced by |
|
|
|
|
the newly built one using a combination of <xref linkend="sql-alterindex"> |
|
|
|
|
and <xref linkend="sql-dropindex">. When an index is used to enforce |
|
|
|
|
uniqueness or other constraints, <xref linkend="sql-altertable"> might |
|
|
|
|
be necessary to swap the existing constraint with one enforced by |
|
|
|
|
the new index. Review this alternate multi-step rebuild approach |
|
|
|
|
carefully before using it as there are limitations on which |
|
|
|
|
indexes can be reindexed this way, and errors must be handled. |
|
|
|
|
</para> |
|
|
|
|
</sect1> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|