View med udtræk af en-til-mange relation
Hej Eksperter.Jeg skal have lavet et view hvor jeg skal komme frem til et udtræk hvor jeg får alle linier for et given produkt, hvis det findes med et givent sprogId skal dette bruges ellers bruges orginal sproget.
For mig er det uden betydning om lokalsproget evt skal ligge i separat tabel, som i mit eksempel eller alle i samme tabel.
Nedenstående query virker, og tager 0,0001 sek. Det er fint.
Men nå jeg laver den som view kan jeg jo ikke have produktId'en med, og derfor tager en select * fra viewet 3,6 sek. Når det så skal kaldes små 5000 gange bliver det alt for langsomt.
SELECT tOrg.`tsmID`,tOrg.`tsmArtID`,tOrg.`tsmOrder`,
IF (ISNULL(tS.tsmID), tOrg.tsmEZmerkmal, tS.tsmEZmerkmal) AS tsmEZmerkmal,
IF (ISNULL(tS.tsmID), tOrg.tsmEZwert, tS.tsmEZwert) AS tsmEZwert,
tOrg.`tsmSprId`, tS.tsmID,
IF (ISNULL(tS.tsmID), tOrg.tsmID, tS.tsmID) AS groupId
FROM `media`.`1_tbesachmerkmal` tOrg
LEFT JOIN `media`.`1_tbesachmerkmal_se` tS
ON tOrg.`tsmArtID` = tS.tsmArtID
WHERE tOrg.tsmArtID = 8884
GROUP BY groupId;
Er der nogen der har en idé til en smartere/hurtigere metode?
Per :o)