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.
|
|
|