Nel caso di un predicato "front wilcard" (cioè un "LIKE '% ...'"), come sembra essere il caso qui, INSTR e LIKE dovrebbero eseguire all'incirca lo stesso.
Quando il carattere jolly è non un "carattere jolly anteriore", l'approccio LIKE deve essere più veloce, a meno che il carattere jolly non sia molto selettivo.
Il motivo per cui il tipo di wildcard e la sua selettività materia è che un predicato con INSTR() sarà sistematicamente risultato in una scansione di tabella (SQL può non fare alcuna ipotesi circa la semantica di INSTR), per cui SQL può sfruttare la sua comprensione della semantica del predicato LIKE per magari usare un indice per aiutarlo a testare solo una serie ridotta di possibili corrispondenze.
Come suggerito nel commento alla domanda stessa, un indice di testo completo sarà molto più veloce. La differenza dipende dalla distribuzione specifica delle parole all'interno del testo, e anche dalla dimensione generale della tabella, ecc., Ma si aspetta qualcosa dal due volte più veloce a forse 10 volte più veloce.
Un possibile svantaggio dell'utilizzo dell'indice di testo completo, oltre al sovraccarico generale per la creazione di tale indice, è che a meno che si sia molto attenti nella configurazione di questo indice (ad es. Definizione dell'elenco di parole di arresto, utilizzando sintassi di ricerca specifica per evitare forme flessive e simili ...), ci possono essere casi in cui i risultati forniti da FullText non saranno come previsto. Ad esempio, cercando un "SAW" (uno strumento per tagliare il legno), si possono ottenere molti successi per i record tra cui il verbo "vedere", nelle sue varie forme coniugate.
Ovviamente, queste funzionalità linguistiche degli indici fulltext possono essere sovrascritte e si può anche considerare che tali funzionalità siano effettivamente un vantaggio, non un inconveniente. Ne parlo solo qui dato che stiamo confrontando questo con una semplice ricerca con caratteri jolly.
L'attivazione di un indice di ricerca full-text potrebbe essere più veloce se le stringhe di testo sono lunghe – kibibu
'myspace regexp ' "Di solito è più veloce di quello – Seth
La tua domanda ha almeno 5 voti per il tag [tag: like-operator]. Potrei cortesemente chiedere di suggerire [tag: sql-like] come [sinonimo] (http://stackoverflow.com/tags/like-operator/synonyms)? – Kermit