Vermeiden redundanter Vergleichselemente
Vermeiden Sie redundante Vergleichselemente, insbesondere wenn diese über verschiedene Tabellen hinweg auftreten. In einigen Fällen kann das Optimierungsprogramm nicht erkennen, dass die Vergleichselemente redundant sind. Dies kann zu Unterschätzungen von Kardinalitäten führen.
Zum Beispiel wird in SAP-BI-Anwendungen (BI = Business-Intelligence) das Snowflake-Schema mit Fakttabelle und Dimensionstabellen als abfrageoptimierte Datenstruktur genutzt. In einigen Fällen ist eine redundante Zeitmerkmalsspalte ('SID_0CALMONTH' für Monat oder 'SID_0FISCPER' für Jahr) für die Fakttabelle und die Dimensionstabellen definiert.
Der SAP-BI-OLAP-Prozessor (OPAP, Online Analytical Processing) generiert redundante Vergleichselemente für die Zeitmerkmalsspalten der Dimensionstabellen und der Fakttabelle.
Diese redundanten Vergleichselemente können zu längeren Abfrageausführungszeiten führen.
AND ( "DT"."SID_0CALMONTH" = 199605
AND "F". "SID_0CALMONTH" = 199605
OR "DT"."SID_0CALMONTH" = 199705
AND "F". "SID_0CALMONTH" = 199705 )
AND NOT ( "DT"."SID_0CALMONTH" = 199803
AND "F". "SID_0CALMONTH" = 199803 )Das Db2® -Optimierungsprogramm erkennt die Vergleichselemente nicht als identisch und behandelt sie als unabhängig. Dies führt zu Unterschätzungen von
Kardinalitäten, nicht optimalen Abfragezugriffsplänen und längeren Abfrageausführungszeiten.Aus diesem Grund werden die redundanten Vergleichselemente von der für die DB2-Datenbankplattform spezifischen Softwareschicht entfernt.
AND ( "F". "SID_0CALMONTH" = 199605
OR "F". "SID_0CALMONTH" = 199705 )
AND NOT ( "F". "SID_0CALMONTH" = 199803 )Befolgen Sie die Anweisungen in den
SAP-Hinweisen (Notes) 957070 und 1144883, um die redundanten Vergleichselemente zu entfernen.