2010-03-12 2 views
7

Ich muss eine neue SELECT-Anweisung hinzufügen, deren Suchbedingung etwas wie LigaCode LIKE 'NBA%'.Was ist die Auswirkung von Wildcard%

Ich würde gerne wissen, ob der Index gegen ligaCode noch ausnutzbar ist oder irgendwelche Overhead einführen, nachdem% in der Zielspalte enthalten ist.

+0

Meinst du: 'ligaCode wie 'nba%''? Sonst machst du überhaupt keine Wildcard-Suche, du suchst nach den wörtlichen Zeichen 'nba [Prozentzeichen]' – nocache

Antwort

4

Es hängt 100% von der Position des Platzhalters ab.

  • Am Anfang: kein Index. Einige Server haben umgekehrte Indizes (beginnend am Ende der Zeichenfolge) und würden sie verwenden - SQL Server nicht.
  • In der Mitte: Teilindex (Anfangsteil), dann suchen in diesem Bereich.
  • am Ende: Index (tatsächlich wird eine INDEX SEEK im Query Analyzer angezeigt).

Overhead? Sicher - aber es ist nicht genau hoch (kein Tabellenscan) und es gibt nicht wirklich einen Weg, um es zu umgehen.

3

Ja, der Index kann immer noch verwendet werden, weil Sie ein konstantes Präfix haben (in diesem Fall).

Verwandte Themen