Die Idee besteht darin, schnelle Abfragen basierend auf den Spalten c1
, c2
und c3
durchzuführen.MySQL - Eindeutiger Index für mehrere Spalten
Es gibt 3 Arten von Anfragen:
SELECT COUNT(*) FROM tbl WHERE c1=... AND c2=...
SELECT c2, c3 FROM tbl WHERE c1=...
SELECT DISTINCT c2 FROM tbl WHERE c1=... AND c3=...
Was ist der beste Weg Index zu bauen, wenn ich will lassen (c1
, c2
) eindeutig sein?
Ich denke an einen einzigen Index wie folgt aus:
UNIQUE INDEX idx_c1_c2 (c1, c2)
Aber die dritte Abfrage würde nicht diesen Index werden.
Irgendwelche Vorschläge?
Bitte zeigen Sie auch die WHERE-Klausel für die 3 Abfrage abgeschlossen .. weil die WHERE-Klausel die primäre indexi Auswertung – scaisEdge
Dritte Abfrage _WILL_ verwenden den Index Scannen für 'C1 Spalte. Dann scannt es die Tabelle, um den "c3" -Zustand zu erfüllen. –
@scaisEdge Die '...' 's sind nur Literale. – WoLfPwNeR