Sintaxis SQL eficaz

Utilice JOIN (en la cláusula FROM ) para incluir una tabla en una consulta en lugar de una subconsulta en la cláusula WHERE . Esta sugerencia se aplica aunque sólo sean necesarios unos datos de la tabla para el filtro, no para el conjunto de resultados.

La unión de varias tablas en la cláusula FROM funciona mejor que el uso de una subconsulta en una cláusula WHERE .

Evite las declaraciones SQL que no puedan aprovechar los índices. Estas sentencias incluyen el uso de funciones de agregado en una subconsulta, una sentencia UNION en una subconsulta o una cláusula ORDER BY con una sentencia UNION .

Un índice puede aumentar considerablemente la velocidad de procesamiento de una consulta SELECT . Sin embargo, determinada sintaxis SQL evita que la base de datos utilice índices, haciendo que utilice los datos reales para buscar u ordenar operaciones.

Evite el operador LIKE , especialmente con un carácter comodín inicial como en LIKE('%XXXX%') .

Debido a que la operación LIKE admite el uso de búsquedas con caracteres comodín, funciona de forma más lenta que el uso de comparaciones de coincidencia exacta. En concreto, si se inicia la cadena de búsqueda con un carácter comodín, la base de datos no puede utilizar índices en la búsqueda. Como alternativa, la base de datos debe buscar el texto completo en cada fila de la tabla.

Intente evitar el operador IN . Si los posibles valores se conocen de antemano, la operación IN se puede escribir utilizando AND u OR para una ejecución más rápida.

La segunda de las dos siguientes sentencias se ejecuta más rápido. Resulta más rápida porque utiliza expresiones de igualdad sencillas combinadas con OR en lugar de utilizar las sentencias IN() o NOT IN() :

-- Slower 
SELECT lastName, firstName, salary 
FROM main.employees 
WHERE salary IN (2000, 2500) 
     
-- Faster 
SELECT lastName, firstName, salary 
FROM main.employees 
WHERE salary = 2000 
    OR salary = 2500
Considere formas alternativas de una declaración SQL para mejorar el rendimiento.

Tal y como se ha mostrado en anteriores ejemplos, el modo en que se escribe una declaración SQL también puede afectar al rendimiento de la base de datos. Suelen existir varias maneras de escribir una declaración SQL SELECT para recuperar un determinado conjunto de resultados. En algunos casos, un enfoque se ejecuta notablemente más rápido que el otro. Además de las sugerencias anteriores, se puede aprender más sobre las distintas declaraciones SQL y su rendimiento en recursos dedicados sobre el lenguaje SQL.