Mysql
 sql >> Database >  >> RDS >> Mysql

Come aumentare le prestazioni della query SQL per la selezione da 2 tabelle

Sfortunatamente la progettazione del tuo database sta costringendo a prestazioni lente.

Questo risolverà il tuo problema di prestazioni:dovresti creare una nuova tabella (PRODUCT_INFO) e fare in modo che la chiave esterna punti alla chiave primaria di produkty. Popola questa tabella con i singoli valori di ATTRIBUTE_CODE e 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