Heute haben mich sieben Datenbanken in sieben Wochen mit den Operatorenindizes vertraut gemacht.
Sie können Zeichenfolgen für die Musterübereinstimmung mit den vorherigen Abfragen
text_pattern_ops
indizieren, indem Sie einen Operatorklassenindex erstellen , sofern die Werte in Kleinbuchstaben indiziert sind.
CREATE INDEX moves_title_pattern ON movies (
(lower(title) text_pattern_ops);
Wir haben die verwendet,
text_pattern_ops
weil der Titel vom Typ Text ist. Wenn Sie zum Index Varchars, Zeichen oder Namen, verwenden Sie die entsprechenden ops:varchar_pattern_ops
,bpchar_pattern_ops
, undname_pattern_ops
.
Ich finde das Beispiel wirklich verwirrend. Warum ist das sinnvoll?
Wenn die Spalte vom Typ Text ist, werden die anderen Typen (varchar, char, name) nicht in Text umgewandelt, bevor sie als Suchwert verwendet werden?
Wie verhält sich dieser Index anders als mit dem Standardoperator?
CREATE INDEX moves_title_pattern ON movies (lower(title));