nur um besser zu verstehen, in welchen Fällen Index richtig verwendet wird, möchte ich mögliche Fälle aufzählen.postgres: wenn Index verwendet wird
nehmen wir an, wir haben eine Tabelle mit "a", "b", "c", "d" Spalten.
schaffen wir einen Index auf (a, b, c, d):
create index my_index on table my_table (a, b, c, d)
ist es verwendet wird, wenn:
1)
where a=% and b=% and c=% and d=%
2)
where a=% and b=%
3)
where a=%
4)
where b=% and c=% and d=%
5)
where c=% order by b
6)
where a=% and b=% and c=% order by case when d is not null then d else c end
7) nehmen wir an, jetzt sind wir mehr Spalte für die 7-Punkt haben, aber der Index nur auf (a, b, c, d)
where a=% and b=% and c=% and d=% and e=% and f=% and g=%
Es hängt auch von der Verteilung der Werte ab, wenn a nur 2 mögliche Werte hat und es Tausende oder Millionen von Datensätzen gibt, wobei a =% nicht zur Verwendung des Indexes führen kann. – aschoerk
@aschoerk. . . Guter Punkt. Ich habe die Antwort geklärt. –
Entschuldigung, ich habe eine 7) Fallbearbeitung hinzugefügt – 91DarioDev