Indizes bei INNER JOIN und WHERE

21/11/2007 - 21:08 von Tim Wolf | Report spam
Hallo zusammen,

ich eine eine Abfrage nach folgendem Schema:

SELECT * FROM Artikeldaten a
INNER JOIN Freigaben f ON a.Nummer = f.Nummer
WHERE a.Land = 'de-DE'

Der Primàrschlüssel liegt auf dem Feld ID, wird also bei der Abfrage nicht
berücksichtigt.
Ist es nun Vorteilhafter zwei Indizes - jeweils auf Nummer u. Land -
anzulegen, oder einen einzigen,
der beide Felder beinhaltet. Hintergrund ist die Teilung in JOIN und WHERE.

Vielen Dank für Kommentare und Antworten.

Gruß,
Tim Wolf
 

Lesen sie die antworten

#1 Olaf Pietsch
21/11/2007 - 22:18 | Warnen spam
Hallo Tim,

"Tim Wolf" schrieb im Newsbeitrag
news:fi237v$fo7$
ich eine eine Abfrage nach folgendem Schema:

SELECT * FROM Artikeldaten a
INNER JOIN Freigaben f ON a.Nummer = f.Nummer
WHERE a.Land = 'de-DE'

Der Primàrschlüssel liegt auf dem Feld ID, wird also bei der Abfrage nicht
berücksichtigt.
Ist es nun Vorteilhafter zwei Indizes - jeweils auf Nummer u. Land -
anzulegen, oder einen einzigen,
der beide Felder beinhaltet. Hintergrund ist die Teilung in JOIN und
WHERE.



die "richtige" Antwort liefert Dir der Ausführungsplan zu Deiner Query.

Ich würde einen Index über die Spalten des WHERE Teils anlegen: Nummer, Land

Gruß Olaf
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Blog (http://www.sqlpass.de/PASSUserBlogs...x?BlogID=3)
Regionalgruppe Köln/Bonn/Düsseldorf
(http://www.sqlpass.de/Regionalgrupp...fault.aspx)

Ähnliche fragen