sql >> Database >  >> RDS >> Mysql

Hoe de prestatie van de SQL-query te vergroten voor het selecteren uit 2 tabellen?

Helaas zorgt uw databaseontwerp voor trage prestaties.

Dit lost uw prestatieprobleem op:u moet een nieuwe tabel maken (PRODUCT_INFO) en een refererende sleutel laten verwijzen naar de primaire sleutel van produkty. Vul deze tabel met de individuele waarden uit ATTRIBUTE_CODE en 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


  1. Hoe kan ik deze query verbeteren om het gebruik van geneste weergaven te voorkomen?

  2. Index voor nullable-kolom

  3. orakel drop-index indien bestaat

  4. Installeer utf8-sortering in PostgreSQL