Maison >base de données >tutoriel mysql >MySQL peut-il effectuer une recherche LIKE avec plusieurs modèles de caractères génériques ?
LIKE de MySQL et plusieurs modèles de caractères génériques
Problème :
MySQL peut-il gérer efficacement LIKE
les recherches englobant plusieurs modèles génériques ? Par exemple, rechercher simultanément des chaînes contenant « 40 % », « 38 % » et « 40 % ».
Solution :
MySQL n'offre pas de fonction LIKE IN()
directe. Toutefois, une solution de contournement très efficace utilise des expressions régulières (REGEXP). Cela permet de faire correspondre plusieurs modèles au sein d'une seule requête :
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
Cette requête analyse la colonne fiberbox
de la table field
à la recherche de lignes contenant l'un des modèles spécifiés. Le symbole |
(pipe) agit comme un opérateur « ou », correspondant à toute ligne où au moins un motif est présent.
Considérations relatives aux performances :
Les performances relatives de REGEXP
par rapport à plusieurs instructions LIKE
(par exemple, WHERE field LIKE '40%' OR field LIKE '38%' OR field LIKE '40%'
) dépendent fortement des données et de la requête spécifiques. Il est crucial de comparer les deux méthodes pour déterminer l'approche la plus efficace pour vos besoins particuliers en matière d'ensemble de données et de requêtes.
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!