From ebe4375fa1d875ff51dbc127f3317d281b21589d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 21 Jun 2002 03:25:53 +0000 Subject: [PATCH] Document problems with hash indexes compared to btree. --- doc/src/sgml/indices.sgml | 11 ++++------- doc/src/sgml/ref/create_index.sgml | 7 ++++++- doc/src/sgml/xindex.sgml | 8 ++++---- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml index 417a50dcb3..6317e4ea74 100644 --- a/doc/src/sgml/indices.sgml +++ b/doc/src/sgml/indices.sgml @@ -1,4 +1,4 @@ - + Indexes @@ -181,12 +181,9 @@ CREATE INDEX name ON table - Because of the limited utility of hash indexes, a B-tree index - should generally be preferred over a hash index. We do not have - sufficient evidence that hash indexes are actually faster than - B-trees even for = comparisons. Moreover, - hash indexes require coarser locks; see . + Testing has shown that hash indexes are slower than btree indexes, + and the size and build time for hash indexes is much worse. For + these reasons, hash index use is discouraged. diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index a3af001006..6bb972e988 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml @@ -1,5 +1,5 @@ @@ -329,6 +329,11 @@ ERROR: Cannot create index: 'index_name' already exists. an indexed attribute is involved in a comparison using the = operator. + + Testing has shown that hash indexes are slower than btree indexes, + and the size and build time for hash indexes is much worse. For + these reasons, hash index use is discouraged. + Currently, only the B-tree and gist access methods support multicolumn diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml index c6bfb0e19f..99f069a674 100644 --- a/doc/src/sgml/xindex.sgml +++ b/doc/src/sgml/xindex.sgml @@ -1,5 +1,5 @@ @@ -11,9 +11,9 @@ PostgreSQL documentation The procedures described thus far let you define new types, new - functions, and new operators. However, we cannot yet define a secondary - index (such as a B-tree, R-tree, or - hash access method) over a new type or its operators. + functions, and new operators. However, we cannot yet define a + secondary index (such as a B-tree, R-tree, or hash access method) + over a new type or its operators.