Forum: SQL |
Thema:
Re: Unterschied zwischen Inner Join und blabla.id = blabla.id ? |
Von:
Andreas Rauch (
25.04.2006 09:18) |
Ne net ganz. Du meinst wiederum den Indexoptimierungsassistent. Der Abfrageoptimierer ist etwas, was im SQL Server im Hintergrund arbeitet. Er prüft jede SQL Eingabe nach Syntax Fehler, untersucht und ob die Objekte vorhanden sind. MIt Hilfe von Statistiken versucht er als letztes den "besten Weg" für die Abfrage zu finden. Da erkennt er bspw. ob du etwa den inner join meintest. Was du im Ausführungsplan (kannst du im QUuery Analyzer finden) siehst, ist, dass der Abfrageoptimierer evtl einen Hash, Merge oder etwa eine Nested Loop verwendet hat. Wichtig ist dabei die Erkenntnis, dass er hier sich auf die Suche nach Indizes begibt, da diese meist! den besten Performance Vorteil bieten.
Tipp: findest im Ausfürhungsplan einen "Seek" so bist du auf den "besten Weg". Meist!! schlecht ist ein Scan. Wie etwa ein Clustered Index scan. Das bedeutet letztendlich, dass er den Index verwenden wollte/muss, aber der eiglt. unnütz ist (bspw. like '%xy')
Alles klar?
Grüße Andreas
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!