Optimiser une requête "like"

Le
Fabaunet.
Bonjour,

Après plusieurs heures à chercher sur le net je vous pose ma question :
Comment optimiser une requête 'like'

exemple : select champ1 from table1 where champ1 like "*toto*"
j'ai un temps d'execution de 30 secondes sur 200 000 enregistrements !

j'ai pensé à plusieurs idées dont celle ci :
Télécharger tous les enregistrements, les charger dans un tableau et
travailler en local

Qu'en pensez vous ?

Qui à une solution ?


--
Très cordialement
Fabrice VINCENT
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11869551
Fabaunet. a écrit :
Bonjour,

Après plusieurs heures à chercher sur le net je vous pose ma question :
Comment optimiser une requête 'like'

exemple : select champ1 from table1 where champ1 like "*toto*"
j'ai un temps d'execution de 30 secondes sur 200 000 enregistrements !

j'ai pensé à plusieurs idées dont celle ci :
Télécharger tous les enregistrements, les charger dans un tableau et
travailler en local

Qu'en pensez vous ?

Qui à une solution ?



Il existe des solution qui consiste à implémenter des index rotatifs.
Mais attention au coût.

Sinon intéresser vous aux mécanismes d'indextion textuelle.

Voyez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/indextextuelle/

A +








--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Publicité
Poster une réponse
Anonyme