Die Angabe einer SAMPLE-Definition (sample_definition) definiert die Stichprobengröße, d.h. wie viele Zeilen einer Tabelle beim Aktualisieren von Statistiken herangezogen werden sollen.
<sample_definition>
::=
SAMPLE <unsigned_integer>
ROWS
| SAMPLE <unsigned_integer> PERCENT
Das Datenbanksystem führt für jede Basistabelle Statistikwerte, die zur Bestimmung der besten Strategie zur Ausführung einer SQL-Anweisung herangezogen werden. Diese Statistikwerte werden durch die UPDATE STATISTICS-Anweisung im Datenbankkatalog abgelegt.
Wenn in einer UPDATE STATISTICS-Anweisung eine SAMPLE-Definition angegeben wird, legt die SAMPLE-Definition fest, wieviele Zeilen der Tabelle zur Bestimmung der Statistikwerte herangezogen werden sollen (Stichprobengröße).
Wenn in einer UPDATE STATISTICS-Anweisung keine SAMPLE-Definition angegeben wird und auch nicht erzwungen wird, dass alle Zeilen der Tabelle zur Bestimmung der Statistikwerte herangezogen werden sollen, so verwendet das Datenbanksystem die entsprechende SAMPLE-Definition der CREATE TABLE-Anweisung oder der ALTER TABLE-Anweisung.
Die Definition der Anzahl der Zeilen, für die die UPDATE STATISTCS-Anweisung durchgeführt werden soll, kann durch Angabe der Anzahl der Zeilen (ROWS) oder durch Angabe in Prozent (PERCENT) erfolgen.
● Bei Angabe einer SAMPLE-Definition mittels PERCENT muss die Ganze Zahl ohne Vorzeichen im Bereich zwischen 0 und 100 liegen.
● Wenn keine SAMPLE-Definition definiert ist, verwendet das Datenbanksystem den Wert 20000 ROWS.
Sie können einzelne Tabellen von einem UPDATE STATISTICS-Lauf ausschließen, indem Sie mittels einer ALTER TABLE-Anweisung für diese Tabellen die Stichprobengröße auf 0 setzen.