Hjælp til optimering af sql-sætning
Jeg har en rimlig lang sql-sætning som på nogle søge ord får en timeout... Jeg har lidt på fornemelsen at den godt kunne skrives så den performere bedre, nogen der kan hjælpe?SELECT DISTINCT
beskrivelse.vaerdie, beskrivelse.produktId, specifikationsData.benaevnelse, beskrivelse.specId, produkt.underkatId, specifikation.raekkefoelge
FROM produkt INNER JOIN
beskrivelse ON produkt.produktId = beskrivelse.produktId INNER JOIN
specifikation ON beskrivelse.specId = specifikation.specId INNER JOIN
specifikationsData ON specifikation.specId = specifikationsData.specId INNER JOIN
underKatSpec ON produkt.underkatId = underKatSpec.underkatId AND specifikationsData.specId = underKatSpec.specId
WHERE (underKatSpec.medtagesIOversigt = 1) AND (beskrivelse.specId IN
(SELECT specifikation.specId
FROM underKatSpec INNER JOIN
specifikation ON underKatSpec.specId = specifikation.specId INNER JOIN
specifikationsData ON specifikation.specId = specifikationsData.specId
WHERE (underKatSpec.medtagesIOversigt = 1) AND underkatId IN
(SELECT DISTINCT produkt.underkatId
FROM hovedkategoriData INNER JOIN
underkategori ON hovedkategoriData.hovedkatId = underkategori.hovedkatId INNER JOIN
underkategoriData ON underkategori.underkatId = underkategoriData.underkatId INNER JOIN
produkt ON underkategoriData.underkatId = produkt.underkatId INNER JOIN
produktData ON produkt.produktId = produktData.produktId
WHERE (produktData.aktiv = 1) AND (produktData.navn LIKE '%lift%') AND (hovedkategoriData.aktiv = 1) OR
(produktData.aktiv = 1) AND (underkategoriData.aktiv = 1) AND (underkategoriData.navn LIKE '%lift%') AND
(hovedkategoriData.aktiv = 1)))) AND (beskrivelse.produktId IN
(SELECT DISTINCT produkt.produktId
FROM hovedkategoriData INNER JOIN
underkategori ON hovedkategoriData.hovedkatId = underkategori.hovedkatId INNER JOIN
underkategoriData ON underkategori.underkatId = underkategoriData.underkatId INNER JOIN
produkt ON underkategoriData.underkatId = produkt.underkatId INNER JOIN
produktData ON produkt.produktId = produktData.produktId
WHERE (produktData.aktiv = 1) AND (produktData.navn LIKE '%lift%') AND (hovedkategoriData.aktiv = 1) OR
(produktData.aktiv = 1) AND (underkategoriData.aktiv = 1) AND (underkategoriData.navn LIKE '%lift%') AND (hovedkategoriData.aktiv = 1)))
ORDER BY specifikation.raekkefoelge