LIKE-Prädikate mit Mustern, bei denen es sich entweder um literale Konstanten oder Hostvariable handelt, werden häufig eingesetzt. Je nach dem Muster kann der Optimierer das LIKE-Prädikat ganz umschreiben oder es mit zusätzlichen Bedingungen verbessern, die zum Ausführen eines Abrufs mit Index aus der betreffenden Tabelle genutzt werden können. Zusätzliche Bedingungen für LIKE-Prädikate verwenden das Prädikat LIKE_PREFIX, das nicht direkt in einer Abfrage angegeben werden kann, aber in langen und grafischen Plänen enthalten sein kann, wo der Abfrageoptimierer die Optimierung anwenden kann.
In jedem der folgenden Beispiele ist davon auszugehen, dass das Muster des LIKE-Prädikats eine literale Konstante bzw. eine Hostvariable ist und X eine Spalte in der Basistabelle:
X LIKE '%'
wird zu X IS NOT NULL
umgeschrieben.
X LIKE 'abc%'
wird mit einem LIKE_PREFIX-Prädikat erweitert, bei dem es sich um ein Sargable-Prädikat handelt (kann für Indexabrufe verwendet
werden), und erzwingt die Bedingung, dass jeder Wert X mit den Zeichen "abc" beginnen muss. Das Prädikat LIKE_PREFIX setzt
bei Datenbanken mit Mehrbyte-Zeichensätzen und Leerzeichenauffüllung die korrekte Semantik durch.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |