Wenn ich eine TabelleIndex mit mehreren Spalten - ok, wenn Abfrage nur in einer Spalte durchgeführt wird?
create table sv (id integer, data text)
und einen Index:
create index myindex_idx on sv (id,text)
wäre dies immer noch sehr nützlich sein, wenn ich eine Abfrage
tatselect * from sv where id = 10
Mein Grund für die Nachfrage ist, dass i‘ Ich blicke durch eine Reihe von Tabellen ohne Indizes und sehe verschiedene Kombinationen von Auswahlabfragen. Einige verwendet nur eine Spalte, andere mehr als eins. Muss ich Indizes für beide Sets haben oder ist ein All-inclusive-Index in Ordnung? Ich füge die Indizes für schnellere Suchvorgänge als vollständige Tabellensuchen hinzu.
Beispiel (auf der Grundlage der Antwort von Matt Huggins):
select * from table where col1 = 10
select * from table where col1 = 10 and col2=12
select * from table where col1 = 10 and col2=12 and col3 = 16
alle von Indextabelle abgedeckt werden könnte (co1l1, col2, col3) aber
select * from table where col2=12
würde einen anderen Index benötigen?
Ich nur <3 StackOverflow. Ausgezeichnete Antworten viel besser als erwartet. Ich akzeptierte die Antwort, die ich verwendet habe, und erlaube der höchsten gewählten Antwort die Ergänzung direkt unter der akzeptierten Antwort – svrist