Performances SQL 'like' vs '=' : analyse contextuelle
La question de savoir si 'like' ou '=' fonctionne mieux lorsque l'utilisation de caractères génériques SQL a été abordée dans le passé, mais la sagesse conventionnelle est que '=' est plus rapide. Cependant, il est important de prendre en compte le contexte spécifique de la requête.
Dans le scénario où une colonne contient un nombre limité d'identifiants varchar fixes et codés en dur, et où la tâche consiste à sélectionner toutes les lignes correspondant à l'un d'entre eux, il pourrait sembler que « j’aime » aurait un avantage. 'Like' n'a besoin que de tester quelques caractères initiaux pour une correspondance, tandis que '=' doit comparer la chaîne entière.
Cependant, comme expliqué dans un article de John Nelson (archivé sur https://web.archive.org/web/20150209022016/http://myitforum.com/cs2/blogs/jnelson/archive/2007/11/16/108354.aspx), les règles d'utilisation des index avec 'like' sont nuancés :
Par conséquent, les performances de « j'aime » par rapport à « = » dépendent de le contexte de requête spécifique, l'emplacement des caractères génériques et la présence d'index. Dans le cas d'un nombre limité d'identifiants codés en dur, 'like' peut en effet fonctionner plus rapidement que '=' avec une comparaison de chaînes complètes. Cependant, il est important d'évaluer le cas d'utilisation spécifique et d'envisager l'optimisation de l'index pour déterminer l'approche optimale.
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!