| |
17
area..mbr..xmax, area..mbr..ymax)
CHECK WITH checkdüplicte(
Levels, loc..mbr..xmin, loc..mbr..ymin,
loc..mbr..xmax, loc..mbr..ymax)
CHECK WITH mbroverlap(
Xmin, ymin, xmax, ymax,
loc..mbr..xmin, loc..mbr..ymin,
loc..mbr..xmax, loc..mbr..ymax );
Die Indexerweiterung spezifiziert die Funktion für die Schlüsseltransformation, Gitterstücke und
Zweisuchmethode (DB2). Sie nutzt die doppelte Datennotierung für die Zugang
u Attributen von
Objekten des nutzerdefinierten Typs. Eine ist für die Suche in einem spezifischen Gebiet, die andere
ist für das Auffinden von geographischen Formen, die eine spezifische Lokalisierung haben. Beide
Suchmethoden nutzen die gleiche Funktion, den Gitterwertebereich, um ein Set von Indexen für
potentielle Suchziele zu generieren. Jede Suchmethode hat ihre eigene Filterfunktion. Alle Funktionen
werden durch die nutzerdefinierte Funktion beachtet, wenn Definitionen gegeben werden. Wir sind
soweit, einen Index für die Lokalisationsspalte der Tabelle zu erstellen.
CREAT INDEX houselocIDX ON households(location)
USING gridshape (10 100 1000);
Die Parameter sind von drei Ebenen von verschiedenen Gitterzellengrößen. Für die Indexerweiterung
benötigen wir Prädikate und die zugehörige Suchmethode die folgende Spezifizierung nimmt das
within als ein Prädikat.
CREAT FUNCTION within(s1 shape, s2 shap) RETURNS int
LANGUAGE C ... EXTERNAL NAME /lib/gislib!within
AS PREDICATE
FILTER BY mbrwithin (s1..mbr..xmin, s1..mbr..ymin, s1..mbr..xmax, s1..mbr..ymax,
s2..mbr..xmin, s2..mbr..xmin, s2..mbr..xmax, s2..mbr..ymax)
SELECT BY INDEX EXTENSION gridshape
WHEN KEY (s1) USE search_within(s2)
WHEN KEY (s2) USE search_contain(s1);
Die letzten drei Zeilen indizieren, das Suchen, die auf Prädikate von within basieren, durchgeführt
werden, indem sie eine Indexerweiterung gridshape nutzen, wenn das erste Argument
S
1
ein
Suchziel ist, soll man die Suchmethode search_ within mit S2 als Suchargument nutzen. Der
Anfragekompiler ist in der Lage, einen Plan zu generieren, der den Vorteil vom Zugangspfad, der vom
Index on location von der Tabelle Haushalter nutzen kann. Die Schlüsseltransformation, der
Suchschlüsselproducer und die Filterfunktionen werden automatisch an einem vorbestimmten Platz
aufgerufen.
|  |
|
| |
|
|