Montag, Januar 05, 2015

Join Cardinality mit Like-Vergleichen

Noch ein wichtiger Hinweis aus dem Scratchpad von Jonathan Lewis: zwischen den Releases 11.1.0.7 und 11.2.0.4 hat sich die Arithmetik der Berechnung der Cardinality beim Join über Like-Operatoren verändert: in der älteren Version wurde mit dem Standard-Wert von 5% für Vergleiche des Typs "column >= unbekannterWert" gerechnet, aber in 11.2.0.4 ist ein Bug-Fix am Werk, dessen Beschreibung lautet: "use 1/NDV+1/NROWS for col1 LIKE col2 selectivities" - was zu deutlich niedrigeren Schätzungen führen kann. In erster Näherung würde ich solche Joins über Like vermutlich eher vermeiden, aber mit Sicherheit kann diese Änderung dramatische Auswirkungen auf die Zugriffspläne entsprechender Queries haben.

Keine Kommentare:

Kommentar veröffentlichen