Maison >base de données >tutoriel mysql >## LIKE vs LOCATE dans MySQL : quel opérateur est le roi de la performance ?

## LIKE vs LOCATE dans MySQL : quel opérateur est le roi de la performance ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 03:18:02932parcourir

##  LIKE vs LOCATE in MySQL: Which Operator is King for Performance?

Comparaison des performances MySQL LIKE vs LOCATE

Lors de la recherche de données dans MySQL, vous vous demandez peut-être quel opérateur est le plus efficace : LIKE ou LOCATE ? Cet article explore les différences de performances entre ces deux opérateurs.

Dans un scénario d'utilisation typique, LIKE est légèrement plus rapide que LOCATE. Cela est principalement dû au fait que LIKE n'effectue pas la comparaison supplémentaire par rapport à 0 comme le fait LOCATE.

Comme l'illustrent les résultats de référence ci-dessous, LIKE fonctionne systématiquement légèrement mieux que LOCATE pour un grand nombre d'itérations :

mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar'));
+---------------------------------------------+
| BENCHMARK(100000000,LOCATE('foo','foobar')) |
+---------------------------------------------+
|                                           0 |
+---------------------------------------------+
1 row in set (3.24 sec)

mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar') > 0);
+-------------------------------------------------+
| BENCHMARK(100000000,LOCATE('foo','foobar') > 0) |
+-------------------------------------------------+
|                                               0 |
+-------------------------------------------------+
1 row in set (4.63 sec)

mysql> SELECT BENCHMARK(100000000,'foobar' LIKE '%foo%');
+--------------------------------------------+
| BENCHMARK(100000000,'foobar' LIKE '%foo%') |
+--------------------------------------------+
|                                          0 |
+--------------------------------------------+
1 row in set (4.28 sec)

Il est important de noter que ces résultats peuvent varier en fonction de la version spécifique de la base de données ainsi que de la taille et du contenu de la table que vous recherchez. En général, cependant, LIKE est considéré comme l'opérateur le plus efficace pour les recherches par caractères génériques.

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