2010-03-12 17 views
7

Devo aggiungere una nuova istruzione SELECT la cui condizione di ricerca include qualcosa come leagueCode LIKE 'nba%'.Qual è l'impatto proveniente dal carattere jolly%

Vorrei sapere se l'indice rispetto a leagueCode è ancora sfruttabile o introdurre eventuali overhead dopo che% è incluso nella colonna di destinazione.

+0

Vuoi dire: 'leagueCode come 'nba%''? Altrimenti non stai facendo una ricerca con caratteri jolly, stai cercando i caratteri letterali 'nba [carattere percentuale]' – nocache

risposta

4

dipende al 100% dalla posizione del carattere jolly.

  • All'inizio: nessun indice. Alcuni server hanno indici inversi (che iniziano alla fine della stringa) e li userebbero - SQL Server no.
  • Al centro: indice parziale (parte iniziale), quindi cerca all'interno di tale intervallo.
  • alla fine: Indice (in modo analogo verrà visualizzato INDICE RICERCA nell'analizzatore di query).

Overhead? Certo, ma non è esattamente alto (nessuna scansione della tabella) e non c'è proprio un modo per aggirarlo.

3

Sì, l'indice può ancora essere utilizzato perché si dispone di un prefisso costante (nba in questo caso).

Problemi correlati