Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Juli

SELFHTML Forumsarchiv
Mysql: Index über alle Felder von WHERE-Anfragen?

Informationsseite
  1. Seite (DATENBANK) Mysql: Index über alle Felder von WHERE-Anfragen? von Tobi, 31. 07. 2007, 13:41
nach unten

Mysql: Index über alle Felder von WHERE-Anfragen?

Die folgende Nachricht zum Thema stammt von: Tobi, 31. 07. 2007, 13:41

Hi,
sollte ich einen index über das varchar oder über beide Felder setzen, wenn ich eine Anfrage a la WHERE varchar_feld="..." AND int_feld=123
habe?
Wird der Index für das eine Feld überhaupt verwendet, wenn die WHERE Bedingung 2 Felder betrifft?
Thx

nach obennach unten

Mysql: Index über alle Felder von WHERE-Anfragen?

Die folgende Nachricht zum Thema stammt von: Frank (no reg), 31. 07. 2007, 15:56

Hallo,

wer weiss? Mach doch folgendes:

1) Führe die Abfrage ganz ohne Indices aus, schau dir den Ausführungsplan an (SHOWPLAN oder so)
2) Erzeuge einen Index über die erste Spalte (varchar)
3) Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
4) Erzeuge einen Index auch über die zweite Spalte (int)
5) Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
6) Drehe die Suchargumente um in der Abfrage, Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
7) Lösche die bestehenden Indices, Erzeuge einen zusammengesetzten Index über beide Spalten (zuerst varchar, dann int feld)
8) Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
9) Drehe die Suchargumente um in der Abfrage, Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
10) Lösche die bestehenden Indices, Erzeuge einen zusammengesetzten Index über beide Spalten (zuerst int, dann varchar feld)
11) Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche
12) Drehe die Suchargumente um in der Abfrage, Führe die Abfrage aus, schau dir den Ausführungsplan an (SHOWPLAN oder so) und vergleiche

Und dann ziehe aus den Vergleichen deine Lehren.

Welches der Felder ist signifikanter vom Inhalt? Vielleicht reicht es schon, einen Index nur über dieses Feld zu machen und es als Suchargument an der richtigen (ersten) Stelle zu verwenden.

Gruss
Frank

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Juli

© 1998-2006 Seite Impressum, Software: Classic Forum