Anfang des Inhaltsbereichs

Hintergrunddokumentation LIKE-Bedingung Dokument im Navigationsbaum lokalisieren

LIKE-Bedingungen sind Suchbedingungen mit LIKE-Prädikat.

Für den SQL-Optimierer gelten folgende Einschränkungen für LIKE-Bedingungen:

     Operator ist der Operator LIKE .

     LIKE-Bedingungen haben folgende Form:
<column_spec> LIKE <extended_value_spec>

     Die verwendete Wertespezifikation (extended_value_spec) darf nicht mit den SQL-Syntaxelementen match_string bzw. match_set eines LIKE-Prädikats beginnen.

Nur wenn eine LIKE-Bedingungen in dieser Form vorliegt, kann der SQL-Optimierer sie zum Ermitteln einer optimalen Suchstrategie auswerten.

Bedingungen der Form ...NOT (<column_spec> NOT LIKE<extended_value_spec>) werden, wenn möglich, in einen Ausdruck <column_spec> LIKE <extended_value_spec> überführt.

Der SQL-Optimierer verarbeitet dann die umgeformte Bedingung weiter.

Beispiele

Die bei den Erläuterungen zum SQL-Optimierer verwendeten Beispiele stützten sich auf die Demo-Datenbank DEMODB und ihre vollständigen Demo-Daten im Schema HOTEL.

Konzepte des Datenbanksystems, Objekte im Schema HOTEL

Beispiel

SELECT * FROM hotel.customer
  WHERE name LIKE 'Wa%'

Qualifikation: name LIKE 'Wa%'
Primärschlüssel der Tabelle CUSTOMER:
cno
Indizes über qualifizierte Spalten:
FULL_NAME_INDEX (name, firstname)
genutzte Suchstrategie: RANGE CONDITION FOR INDEX

Der Index FULL_NAME_INDEX (name, firstname) kann genutzt werden. Der Startschlüssel wird beim ersten Satz gesetzt, der die LIKE-Bedingung in den ersten beiden Zeichenwerten erfüllt (Wade, Francisco). Der Stoppschlüssel liegt bei dem ersten Satz, der der Bedingung nicht mehr entspricht (Weaver, Alfredo).

Ergebnis der EXPLAIN-Anweisung

TABLENAME

COLUMN_OR_INDEX

STRATEGY

PAGECOUNT

CUSTOMER

FULL_NAME_INDEX

RANGE CONDITION FOR INDEX

34

 

NAME

(USED INDEX COLUMN)

 

 

 

RESULT IS NOT COPIED,
COSTVALUE IS


4

Weitere einfache Beispiel-SQL-Anweisungen finden Sie im StrukturlinkSQL-Tutorial.

Siehe auch:

EXPLAIN-Anweisung

SQL-Referenzhandbuch, LIKE-Prädikat (like_predicate)

Ende des Inhaltsbereichs