Next: Using More Than
Up: Our Approach
Previous: Our Approach
In this first generalization of the standard indexing technique
(indexing on the first argument) only one variable-free argument column in each
indexing partition is used (this argument column need not be the same in
all partitions).
The heuristics for finding the partitions is the following simple greedy
(don't-care-choice) algorithm (1N-Algorithm):
- For each argument column
, count the number of non-variable
arguments down to the first variable or the end of the procedure
(
)
-
- If
then use the first clause as a separate partition
(without indexing)
else -
- if
then
else choose
with the most selective
elements
- use the first
clauses as a partition and index
them on the
argument
- If any clauses are left go to 1 to form further partitions else stop
Using this algorithm on the example, the following two partitions
are formed:
-
-
-
- use first clause without indexing
- go to 1 with clauses 2 - 9
-
-
,
-
-
- use clauses 2 - 9 with indexing on
argument

Resulting index tree (``/'' in else field is used here as a
shortcut for a pointer to fail; arcs are directed in the natural
top-to-down order):
Next: Using More Than
Up: Our Approach
Previous: Our Approach
Michael Sintek - sintek@dfki.uni-kl.de