Sieht man so etwas nicht im execution plan?
Announcement
Collapse
No announcement yet.
Verständnisfrage zum Indexieren?
Collapse
X
-
Originally posted by Martin R. View PostDie Abfrage im ersten Post war nur zurErklärung der Fragestellung.
Es war nur ein versehen so zu codieren.
Dies brachte mich dann dazu zu überlegen, welche Schritte, und vorallem in welcher Reihenfolge den Code abarbeitet.
Ist aber nicht unbedingt für Anfänger geeignet.
Gruss
Comment
-
Falls sich das auf meine Erläuterungen bezieht:
Ich hab keine Ahnung, was der Optimizer zuerst macht.
Unabhängig von den vorliegenden Indizes kann ein SQL bei ungleichen Typen in where Bedingung oder Select ja nichts anderes machen als implizit zu konvertieren. Dieser Vorgang ist immer unsicher, weil (mir) nicht bekannt ist, wie weit diese Konvertierung im Detail geht. Das ist ja "Handarbeit" eines Entwicklers.
Bestes Gegenmittel ist bspw. mittels to_char, to_number, to_date , .. explizit im eigenen Code zu konvertieren. Dann muss die Engine nicht "raten", was am besten funktionieren könnte.
Ich würde es mal so sagen:
Fällt einem beim Coden eine selbstgebaute Typ"verletzung" nicht auf, ist das Unachtsamkeit, baut man es sehenden Auges ein, ist es sträflich. Man kann mit sehr hoher Wahrscheinlichkeit davon ausgehen, dass diese "Schlamperei" über kurz oder lang in irgendeinem Grenzbereich ein Problem verursacht, bspw. Änderung der Spracheinstellung, ..usw.
Mein Rat sollte eigentlich sein:
-erst ordentliches SQL schreiben
-dann Index optimierenGruß, defo
Comment
Comment