Maison > base de données > tutoriel mysql > INSTR vs LIKE dans MySQL : quelle fonction de correspondance de chaînes est la plus rapide ?

INSTR vs LIKE dans MySQL : quelle fonction de correspondance de chaînes est la plus rapide ?

Mary-Kate Olsen
Libérer: 2024-11-25 06:24:19
original
624 Les gens l'ont consulté

INSTR vs. LIKE in MySQL: Which String Matching Function is Faster?

Comparaison des performances d'INSTR et LIKE pour la correspondance de chaînes MySQL

Dans MySQL, lors de la recherche d'une chaîne dans une colonne, deux méthodes courantes sont INSTR et LIKE. Lequel est le plus rapide et le plus efficace ?

INSTR vs LIKE

INSTR(columnname, 'mystring') > 0 renvoie vrai si 'mystring' est trouvé dans le nom de la colonne, tandis que le nom de la colonne LIKE '%mystring%' renvoie vrai si 'mystring' est trouvé n'importe où dans le nom de la colonne. INSTR et LIKE sont tous deux pris en charge pour les colonnes de chaînes de types « varchar », « texte », « blob », etc.

Tests de performances

Dans un test, en comptant les occurrences de « recherche » dans une table de plus de 40 000 lignes, INSTR et LIKE exécutées de manière identique, prenant environ 5,54 secondes. Cependant, lorsque vous utilisiez LIKE avec uniquement un suffixe générique, tel que « search% », la requête était nettement plus rapide, ne prenant que 3,88 secondes.

Recherche en texte intégral

Bien que cela ne soit pas spécifiquement mentionné dans la question d'origine, il convient de noter que les recherches FULLTEXT sont généralement plus rapides pour les requêtes textuelles. Cependant, ils nécessitent l'utilisation d'index spécialisés et ne conviennent pas toujours à tous les scénarios.

Conclusion

Pour les analyses de table complète, INSTR et LIKE avec à la fois le préfixe et les caractères génériques de suffixe fonctionnent de la même manière. Cependant, lors de la recherche d'une chaîne au début d'une colonne de texte, LIKE avec un suffixe générique devient beaucoup plus efficace. Dans les cas où les performances sont critiques, l'utilisation de la recherche en texte intégral peut fournir les meilleurs résultats.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal