Der Filterfaktor eines Vergleichselements ist eine Zahl zwischen 0 und 1, die den Anteil der Zeilen in einer Tabelle schätzt, für die das Vergleichselement wahr ist. Nehmen wir z. B. an, dass DB2 feststellen kann, dass Spalte C1 der Tabelle T nur fünf unterschiedliche Werte enthält: A, D, Q, W und X. Da keine weiteren Informationen verfügbar sind, schätzt DB2, dass ein Fünftel der Zeilen den Wert D in der Spalte C1 haben. Dann hat das Vergleichselement C1='D' den Filterfaktor von 0,2 für die Tabelle T.
Das DB2-Optimierungsprogramm kann nicht immer genaue Filterfaktoren für ein Vergleichselement oder eine Gruppe von Vergleichselementen in einer SQL-Anweisung ermitteln, selbst wenn die Statistikdaten für referenzierte Tabellen aktuell sind. Daher generiert das Optimierungsprogramm möglicherweise Zugriffspläne, die nicht optimal sind.
Beispielsweise kann das Optimierungsprogramm mit dem Vergleichselement WHERE T1.C1 > ? keine genauen Filterfaktoren während der Vorbereitungs- oder der Bindephase schätzen. Selbst wenn Histogrammstatistikdaten zu C1 erfasst wurden, kann das Optimierungsprogramm nicht wissen, welche Werte möglich sind.
Mit dem Feature Selektivität überschreiben können Sie Empfehlungen erhalten, um Werte, die das Optimierungsprogramm für Filterfaktoren schätzt, durch genauere Werte zu ersetzen. Sie können sogar selbst Werte für Filterfaktoren festlegen.
Eine Gruppe von Filterfaktoren für eine SQL-Anweisung stellen ein Selektivitätsprofil dar. Sie können das Feature Selektivität überschreiben verwenden, um Selektivitätsprofile zu überprüfen und sie zu implementieren, wenn sie fehlerfrei sind.
Nachdem Sie Filterfaktoren entweder durch Annahme von Empfehlungen oder durch eigene Festlegung überschrieben haben, können Sie die Gruppe der Filterfaktoren auf mögliche Fehler überprüfen. Dann können Sie den neuen Zugriffsplan für die aktuelle SQL-Anweisung überprüfen und ihn sogar mit dem ursprünglichen Zugriffsplan vergleichen, ohne zuerst das neue Selektivitätsprofil zu implementieren. Sie können auch die Advisorfunktion für Indizes für die Anweisung ausführen. Die Advisorfunktion verwendet den neuen Zugriffsplan. Sie können dann die Empfehlungen der Advisorfunktion mit deren Empfehlungen vergleichen, die sie auf der Grundlage des ursprünglichen Zugriffsplans ausgesprochen hat.
Wenn Sie die Filterfaktoren weiter ändern wollen, können Sie dies tun, sie erneut überprüfen, erneut testen und dann implementieren.