Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como aumentar o desempenho da consulta SQL para selecionar entre 2 tabelas


Infelizmente, o design do seu banco de dados está forçando um desempenho lento.

Isso corrigirá seu problema de desempenho:você deve criar uma nova tabela (PRODUCT_INFO) e fazer uma chave estrangeira apontando para a chave primária de produkty. Preencha esta tabela com os valores individuais de 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