Un OR
empleando una única clave es bien
optimizado, como es el manejo de AND
El único caso difícil es la búsqueda sobre dos diferentes
claves combinadas con OR
:
SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' OR field2_index = '1'
Esto se ha optimizado a partir de MySQL 5.0.0. Consulte Sección 7.2.6, “Index Merge Optimization”.
En MySQL 5.0 tambien se puede resolver eficientemente este
problema utilizando una UNION
que combine la
salida de dos sentencias SELECT
separadas.
Consulte Sección 13.2.7.2, “Sintaxis de UNION
”.
Cada sentencia SELECT
busca en solamente una
clave y puede ser optimizada:
SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1' UNION SELECT field1_index, field2_index FROM test_table WHERE field2_index = '1';
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.