Améliorez l'efficacité des requêtes MySQL : REGEXP remplace plusieurs conditions LIKE
Dans les requêtes MySQL, il est souvent nécessaire de filtrer les lignes en fonction de plusieurs correspondances de modèles. Bien qu’il soit possible d’utiliser plusieurs conditions LIKE, cette méthode n’est pas la plus efficace. Par conséquent, il devient intéressant de rechercher des alternatives équivalentes à LIKE IN()
.
Une solution possible consiste à utiliser une expression REGEXP. Il vous permet de spécifier plusieurs modèles dans une seule condition, simplifiant ainsi les requêtes. Modifions la requête donnée en utilisant REGEXP :
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
Dans cette requête, l'expression REGEXP vérifie si la colonne field
contient l'un des modèles spécifiés : « 1740 », « 1938 » ou « 1940 ». Cela permet d'obtenir le même effet de filtrage que l'utilisation de plusieurs conditions LIKE, mais avec des performances potentiellement meilleures.
Il convient de noter que l'efficacité de l'utilisation de REGEXP dépend du schéma spécifique utilisé et de la mise en œuvre de la base de données sous-jacente. Pour les schémas complexes ou les ensembles de données volumineux, une analyse comparative est recommandée pour déterminer la meilleure méthode de requête.
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!