Maison > base de données > tutoriel mysql > le corps du texte

INSTR vs LIKE dans MySQL : lequel est le plus efficace pour la recherche de chaînes ?

DDD
Libérer: 2024-11-20 02:29:01
original
688 Les gens l'ont consulté

INSTR vs. LIKE in MySQL: Which is More Efficient for String Searching?

Comparaison des performances : INSTR vs LIKE

Lorsqu'il s'agit de rechercher une chaîne dans une colonne MySQL de type 'varchar', ' text', 'blob', etc., quelle méthode est la plus efficace : INSTR(columnname, 'mystring') > 0 ou nom de colonne LIKE '%mystring%' ?

La réponse

Les recherches FULLTEXT offrent les meilleures performances. Cependant, lorsque l'on compare INSTR et LIKE, les deux méthodes fonctionnent de manière identique dans les analyses régulières de tables complètes non indexées.

Comparaison détaillée

Dans les tests menés par l'auteur, INSTR et LIKE ont joué à égalité. Cependant, lorsque vous effectuez une recherche de préfixe sur une colonne indexée à l'aide de LIKE avec uniquement un suffixe générique (par exemple, le nom de colonne LIKE 'search%'), cela surpasse considérablement INSTR.

Implémentation

INSTR et LIKE parcourent la colonne de gauche à droite, en comparant la chaîne de recherche avec les données stockées. INSTR recherche une correspondance exacte, tandis que LIKE autorise les caractères génériques (% et _) pour les correspondances partielles.

Recommandation

Pour les colonnes indexées où la correspondance de préfixe n'est pas requise, INSTR et LIKE sont deux options viables avec des performances similaires. Cependant, lorsque vous traitez des tables non indexées ou recherchez uniquement des suffixes, LIKE avec un caractère générique de suffixe est recommandé pour des résultats plus rapides.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal