sql >> Databasteknik >  >> RDS >> Mysql

Hur man ökar prestanda för SQL-fråga för att välja från 2 tabeller

Tyvärr tvingar din databasdesign fram en långsam prestanda.

Detta kommer att lösa ditt prestandaproblem:Du bör skapa en ny tabell (PRODUCT_INFO) och göra en främmande nyckel som pekar på primärnyckeln för produkty. Fyll den här tabellen med de individuella värdena från ATTRIBUTE_CODE och 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. Öka mitt id i min insättningsbegäran

  2. Tillåt alla fjärranslutningar, MySQL

  3. Lagring av specialtecken i DB på ett sådant sätt att de visas korrekt på plats och fortfarande hittar en bild med samma namn

  4. Skickar en avgränsad sträng i NOT IN-satsen