Examples of creating R-tree indexes
The following example shows how to create a table called circle_tab that
contains a column of data type MyCircle and an R-tree index called circle_tab_index on
the circles column:
CREATE TABLE circle_tab
(
id INTEGER,
circles MyCircle
);
CREATE INDEX circle_tab_index
ON circle_tab ( circles MyShape_ops )
USING RTREE;
The following example shows how to create a similar R-tree
index that is stored in the dbsp1 dbspace instead of the dbspace
in which the circle_tab table is stored:
CREATE INDEX circle_tab_index2
ON circle_tab ( circles MyShape_ops )
USING RTREE
IN dbsp1;
The following example shows how to create a fragmented
R-tree index on the circle_tab table:
CREATE INDEX circle_tab_index3
ON circle_tab ( circles MyShape_ops )
USING RTREE
FRAGMENT BY EXPRESSION
id < 100 IN dbsp1,
id >= 100 IN dbsp2;
All shapes with id
less
than 100 are stored in the dbsp1 dbspace, and the remainder
are stored in the dbsp2 dbspace.
The following example shows how to create a fragmented
table called circle_tab_frag and then an R-tree index on the
table called circle_tab_index4:
CREATE TABLE circle_tab_frag
(
id INTEGER,
circles MyCircle
)
FRAGMENT BY EXPRESSION
id < 100 IN dbsp1,
id >= 100 IN dbsp2;
CREATE INDEX circle_tab_index4
ON circle_tab_frag ( circles MyShape_ops )
USING RTREE;
All shapes with id
less
than 100 are stored in the dbsp1 dbspace, and the remainder
are stored in the dbsp2 dbspace.
The following example shows how to create a fragmented
table called circle_tab_frag and then an R-tree index on the
table called circle_tab_index4:
CREATE TABLE circle_tab_frag
(
id INTEGER,
circles MyCircle
)
FRAGMENT BY EXPRESSION
id < 100 IN dbsp1,
id >= 100 IN dbsp2;
CREATE INDEX circle_tab_index4
ON circle_tab_frag ( circles MyShape_ops )
USING RTREE;
Although the R-tree index is not explicitly created with fragmentation, it is fragmented by default because the table it is indexing, circle_tab_frag, is fragmented.
The following example shows how to specify index parameters
when you create an R-tree index:
CREATE INDEX circle_tab_index5
ON circle_tab ( circles MyShape_ops )
USING RTREE (BOTTOM_UP_BUILD='YES', FILLFACTOR='80', SORT_MEMORY='320');
The
parameters specify that the R-tree index should be built using fast
bulk loading, that the fillfactor is 80
, and that
the R-tree access method has 320 KB of shared memory available for
sorting.
The following example shows how to drop an R-tree index:
DROP INDEX circle_tab_index;