Frage

Leider alle,

Ich habe diese Mini-Tabelle mit 3 Spalten, aber ich werde die Werte Liste entweder von der einen oder anderen Spalte.

1) Ist es in Ordnung, mit Indizes zwei dieser Spalten zu haben?

2) Sollen wir haben nur einen Index der Tabelle?

3) An der Grenze, wenn wir eine Tabelle mit 100 Spalten zum Beispiel haben, und wir haben 50 von ihnen mit Indizes, ist dies in Ordnung?

Danke, MEM

War es hilfreich?

Lösung

Es ist in Ordnung viele Indizes zu haben, auch mehrere Indizes auf einer Tabelle, , solange Sie sie mit .

Ausführen EXPLAIN auf Ihre Fragen und überprüfen, welche Indizes verwendet werden. Wenn es Indizes, die durch irgendwelche Abfragen nicht verwendet werden, dann werden sie Ihnen keinen Vorteil geben und bremsen nur auf Änderungen an den Tisch. Diese nicht verwendete Indizes sollten entfernt werden.

Sie können auch mehrspaltigen Indizes zu berücksichtigen, wenn Sie nicht bereits getan haben.

Andere Tipps

Um schnell Ihre Fragen beantworten, denke ich:

  1. Ja, es ist in Ordnung, zwei oder sogar mehr Spalten mit Indizes
  2. Nicht unbedingt. Sie können mehr als ein Index der Tabelle haben.
  3. Es könnte in Ordnung sein, könnte es sein, nicht in Ordnung. Es hängt davon ab, ob. Die Sache mit Indizes ist, dass sie Platz nehmen (in DISK) und sie machen Operationen, die Ihre Daten ändern (INSERT / UPDATE / DELETE) langsamer, da für jede und jeden von ihnen, wird es eine Tabelle und INDEX-Update beteiligt.

Ihre Indexerstellung sollte durch Ihre Anfragen angesteuert werden. Sehen Sie, was Abfragen werden Sie auf Ihrem System haben und erstellen Indizes entsprechend.

Es gibt kein Problem mit, die mehr als einen Index der Tabelle, und nicht, einen Index der Tabelle ist nicht wirklich eine Richtlinie.

Zu viele Indizes ist ineffizient, da

  • Es erfordert zusätzliche Speicher
  • muss MySQL, um zu bestimmen, welcher Index für eine bestimmte Abfrage zu verwenden,

Edit: Wie pro Pablo und Mark, Sie müssen verstehen, wie Ihre Daten, um zugegriffen wird für Sie effektiven Indizes zu bauen. Sie können dann verfeinern und die Indizes reduzieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top