2012-01-09 2 views
0

Si je lance une telle requête dans MySQL:MySQL: est ET conditionnel ou logique?

SELECT field FROM table WHERE field1=42 AND field2 LIKE '%beer%'; 

Est-ce que chaque ligne soit analysé pour avoir « bière » dans field2 ou seulement ceux dont field1 = 42?

Répondre

1

Cela dépend du plan de requête et des index que vous avez sur la table. Essayez de mettre EXPLAIN avant votre requête et MySQL vous en dira plus. De manière générale cependant, si field1 est indexé, alors LIKE ne devrait être effectuée que pour les lignes où field1 est 42.

+0

Merci, je n'ai jamais vu 'EXPLAIN' avant! – dotancohen