X-Git-Url: http://www.sigaev.ru/git/gitweb.cgi?a=blobdiff_plain;f=README.gevel;h=35b81d1700bec6cd10cf802aaceab1a4c5fcbd8f;hb=cbd442a3769e2ec6bf90e38b3003dd4e1b43b0d1;hp=21230c13a30a4c08d15933471bbeb86dd70dd22f;hpb=56c12cb8cb8a966738e78f784f2c55e955f36830;p=gevel.git diff --git a/README.gevel b/README.gevel index 21230c1..35b81d1 100644 --- a/README.gevel +++ b/README.gevel @@ -2,12 +2,12 @@ Gevel contrib module provides several functions useful for analyzing GiST and GI [Online version] of this document (http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gevel) -Caution: This module was designed for advanced users of GIN and GiST indices ! +Caution: This module was designed for advanced users of GIN, GiST and SP-GiST indices ! Authors * Oleg Bartunov , Moscow, Moscow University, Russia - * Teodor Sigaev , Moscow, Delta-Soft Ltd.,Russia + * Teodor Sigaev , Moscow, Moscow University, Russia License @@ -123,7 +123,59 @@ regression=# select gist_tree('pix'); 1 | t | (28048,49694),(25000,25000) (29 rows) + * spgist_stat(INDEXNAME) - show some statistics about SP-GiST tree + +# SELECT spgist_stat('spgist_idx'); + spgist_stat +---------------------------------- + totalPages: 21 + + deletedPages: 0 + + innerPages: 3 + + leafPages: 18 + + emptyPages: 1 + + usedSpace: 121.27 kbytes+ + freeSpace: 46.07 kbytes + + fillRatio: 72.47% + + leafTuples: 3669 + + innerTuples: 20 + + innerAllTheSame: 0 + + leafPlaceholders: 569 + + innerPlaceholders: 0 + + leafRedirects: 0 + + innerRedirects: 0 + + * spgist_print(INDEXNAME) - prints objects stored in GiST tree, + works only if objects in index have textual representation + (type_out functions should be implemented for given object type). + Note 1. in example below we used quad_point_ops which uses point + for leaf and prefix value, but doesn't use node_label at all. + Use type 'int' as dummy type for prefix or/and node_label. + Note 2 + quad_point_ops: prefix point, node_label int, leaf_value point + kd_point_ops: prefix float, node_label int, leaf_value point + text_ops: prefix text, node_label char, leaf_value text + +# SELECT * FROM spgist_print('spgist_idx') as t + ( + tid tid, + node_n int, + level int, + tid_pointer tid, + prefix point, + node_label int, + leaf_value point + ) where level = 1; + tid | node_n | level | tid_pointer | prefix | node_label | leaf_value +-------+--------+-------+-------------+-------------------------------------+------------+------------ + (1,1) | 0 | 1 | (5,4) | (24530.2070484581,23595.7092511013) | | + (1,1) | 1 | 1 | (5,3) | (24530.2070484581,23595.7092511013) | | + (1,1) | 2 | 1 | (5,2) | (24530.2070484581,23595.7092511013) | | + (1,1) | 3 | 1 | (5,1) | (24530.2070484581,23595.7092511013) | | + * gin_stat(INDEXNAME) prints estimated counts for each indexed values + Note: since 8.4 gin_stat function has gin_stat(INDEXNAME, COLNUMBER) + prototype, single-argument function will return result for a first + column of index # SELECT * FROM gin_stat('gin_idx') as t(value int, nrow int) where nrow > 250; value | nrow