Announcement

Collapse
No announcement yet.

Verständnisfrage zum Indexieren?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Sieht man so etwas nicht im execution plan?

    Comment


    • #17
      Originally posted by Martin R. View Post
      Die 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.
      Für ein vertieftes Studium kann ich diese Buch empfehlen: http://www.amazon.de/Cost-Based-Orac...366/ref=sr_1_1

      Ist aber nicht unbedingt für Anfänger geeignet.

      Gruss

      Comment


      • #18
        Originally posted by fanderlf View Post
        Sieht man so etwas nicht im execution plan?
        Natürlich, nur imho nicht alles.

        Ich wusste z.B. nicht, dass Oracle erst nach Indexes schaut und dann impiziet konvertiert.

        Gruß

        Martin

        Comment


        • #19
          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 optimieren
          Gruß, defo

          Comment

          Working...
          X