Maison >base de données >tutoriel mysql >Comment puis-je interroger efficacement plusieurs modèles LIKE dans MySQL ?

Comment puis-je interroger efficacement plusieurs modèles LIKE dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-20 13:27:10739parcourir

How Can I Efficiently Query Multiple LIKE Patterns in MySQL?

Interrogez efficacement plusieurs modèles LIKE

Lorsque les données doivent correspondre à l'un des multiples modèles LIKE, la question se pose : MySQL offre-t-il une alternative à la réutilisation des conditions OR ?

Méthode traditionnelle utilisant la condition OU

Traditionnellement, une requête ressemble à :

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>

Explorer des alternatives

Le but est de trouver une méthode plus propre et plus efficace, similaire à l'hypothétique LIKE IN(). Bien qu’il n’existe pas de construction directe LIKE IN(), il existe d’autres options.

Utilisez des expressions régulières pour une correspondance de modèles efficace

Une façon de remplacer plusieurs conditions OR consiste à utiliser des expressions régulières (regexp) :

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.field REGEXP '1740|1938|1940';</code>

L'expression régulière de cette requête correspond à n'importe quelle valeur de la colonne de champ contenant le modèle « 1740 », « 1938 » ou « 1940 ». Cette approche combine tous les modèles en une seule instruction, simplifiant les requêtes et améliorant potentiellement les performances, bien que cela puisse dépendre des circonstances.

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!

Déclaration:
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