Frage zu Indizes

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu Indizes

    Hallo,

    ich habe mal eine Frage zu Indizes, die für mich schon immer nie richtig beantwortet wurde.

    Es geht dabei um das Anlegen eines Indizes mit nur einer Spalte oder über mehrere Spalten in MySQL.

    Ich habe z.B. eine Tabelle mit folgenden Spalten:
    - ID (PK)
    - col1 (int)
    - col2 (varchar(50))
    - active (bool)

    Da ich in der Tabelle z.B. auch nur allein über die Spalte "col1" suche (select * from table where col1=1) muss ich ja einen Index für "col1" anlegen.

    In einer anderen Abfrage suche ich in WHERE nach "active", also auch hierfür einen Index anlegen.

    Jetzt die erste Frage:
    Was ist wenn ich in einer Abfrage nach "col1" und "active" (...WHERE col1=1 AND active=1) suche, muss ich dann nochmal extra einen Index über beide Spalten anlegen oder reichen die einzelnen Indizes?

    Zweite Frage:
    Das gleiche andersrum. Ich habe ein Index über 2 Spalten, und möchte aber in einer Abfrage nur in einer dieser Spalten suchen. Muss ich dann dafür noch einen einzelnen Index anlegen, oder reicht der Index über beide Spalten?

    Vielen Dank!

  • #2
    Das könnte sich je nach DB-Engine leicht unterscheiden.

    Code:
    EXPLAIN SELECT .......
    Würde dir zeigen ob und welcher Index genutzt wird.
    Wir werden alle sterben

    Kommentar

    Lädt...
    X