| |
13
dass der Fragekompiler erkennt, dass der 2. Operant von within begrenzt ist und erkennt, dass
within ein Prädikat mit einer Suchmethode ist, wenn der 2. Operant ein Suchargument ist. Der
Indexscan wird die dazugehörige Suchmethode nutzen, um einen Satz von Suchschlüsseln zu
generieren. Diese stellen den kleinsten Satz von Gitterzellen dar, die den Kreis im 2. Operanten
bedecken. Der Satz von Suchschlüsseln wird von der zugrundeliegenden Suchmethode genutzt, um
die relevanten Aufzeichnungen von der Tabelle customer wiederzugewinnen.
4.1 Implementierung und Prädikatfilterung
Der Hochniveaurahmen zur Indexierung von nutzerdefinierten Typen wurde in IBM DB2 implementiert.
Neben der Indexverwaltung, nutzerdefinierten Prädikaten und der Indexauswertung, stellt die
Implementierung auch eine Nutzerkontrolle über die mehrstufige Bewertung von nutzerdefinierten
Prädikaten durch Filterung zur Verfügung. Das vermeidet die potentiell teure Bewertung der nutzer-
definierten Prädikate und reduziert sowohl die I/O und die CPU-Kosten. Abbildung 4.1 zeigt die Syntax
für die Indexerweiterung mit der assoziierten Schlüsseltransformation und Suchmethoden. Die
semantische Beziehung, welche zur Suchmethode korrespondiert, wird nicht ausdrücklich spezifiziert.
Die CREATE INDEX EXTENSION
Anweisung legt eine parametrische Indexauswertung fest. Eine parametrische Indexauswertung wird
als Instanz gebildet, wenn ein Index in einer Tabelle kreiert wird, der CREATE INDEX Anweisungen
nutzt. Die Parameter der Indexerweiterung können für eine Spezifizierung genutzt werden, z.B. die
Zahl der Ebenen und die Größe einer Gitterzelle in einem mehrstufigen Zellindex. Die
Schlüsselaspekte
der
Indexerweiterung schließen die Schlüsseltransformationsfunktion ein, indiziert durch KEYTRANS-
FORMATION INVOKATION und die dazugehörigen Such-Methoden. Jede Suchmethode enthält eine
Suchschlüsselerstellungsfunktion indiziert durch SEARCH KEY PRODUCTION, die einen Satz von
Suchschlüsseln berechnet, wenn die Suchargumente und eine Indexfilterfunktion indiziert durch
Indexfilter gegeben sind, die in der Indexkomponente genutzt werden. Die Nutzerkontrolle über den
Indexfilter ist ein leistungsstarkes Konzept. Es stellt eine frühzeitige Filterung zur Verfügung, in der der
Indexschlüssel genutzt wird. Das verhindert die I/O Kosten für die Wiedergewinnung von Daten,
welche offensichtlich nicht die Suchkriterien erfüllen, solange die Daten nicht von einer Diskette
wiedergewonnen werden können, die den Indexscan nutzt bis der Indexschlüssel festgelegt ist. Das
ermöglicht das Nutzen multipler Indexierungsmechanismen in einer einzigen Suchkombinierung. dies
geschieht, in dem ein Indexfilter geplugged wird, der eine ergänzende Suche darstellt, in dem eine
externe Suchmaschine genutzt wird. Abbildung 4.2 zeigt die Syntax von nutzerdefinierten Funktionen,
die als Prädikate dienen können. Jede Prädikatspezifikation indiziert eine optionale Filterfunktion und
die dazugehörige Suchmethode für verschiedene Sucheigenschaften. Der Datenfilter dient dazu, die
potentiell teure Bewertung der Prädikate durch ein Herausfiltern der Aufnahmen, die das Prädikat
nicht erfüllen
, zu verhindern, in dem man eine einfache und billigere Operation nutzt. In
EXPLOITATION RULE indizieren die Parameter, die auf WHEN KEY folgen, ein Suchargument. Das
optionale Schlüsselwort EXACTLY das dem AS PREDICATE folgt, benötigt eine kleine Erklärung.
<creat index extension> ::=
|  |
|
| |
|
|