sql >> Base de Datos >  >> RDS >> Mysql

Cómo aumentar el rendimiento de la consulta SQL para seleccionar entre 2 tablas

Lamentablemente, el diseño de su base de datos obliga a un rendimiento lento.

Esto solucionará su problema de rendimiento:debe crear una nueva tabla (PRODUCT_INFO) y hacer que la clave externa apunte a la clave principal de produkty. Complete esta tabla con los valores individuales de ATTRIBUTE_CODE y ATTRIBUTE_VALUE.

SELECT pa.code
FROM ParametrickeVyhladavanie pa
WHERE EXISTS
(
SELECT 1 FROM produkty p
JOIN 
PRODUCT_INFO AS pi
ON    p.ProId = pi.ProduktID
WHERE pi.ATTRIBUTE_CODE = pa.Code
AND pi.ATTRIBUTE_VALUE = pa.ValueCode
AND p.KATEGORIA IN ('Mobily'))
GROUP BY pa.code