eMAG

vineri, 20 august 2010

DotNetNuke DataBase Performance Issue

Am avut de-a face cu optimizari pe baza de date de la DotNetNuke Framework.
Mentionez ca lucram pe o versiune mai veche si anume DNN 4.8.3.
Am constatat probleme de performanta la view-ul vw_Modules, mai exact la urmatoarea linie:

WHERE 'fileid=' + convert(varchar,dbo.Files.FileID) = TM.IconFile

acolo unde este folosit acest view (cazul meu fiind procedura GetModuleByDefinition), cauzeaza logical reads mare pe tabela Files.

Asa ca am inlocuit acel WHERE cu:

WHERE dbo.Files.FileID = case when TM.IconFile like '%=%' then right(TM.IconFile, charindex('=', reverse(TM.IconFile))-1) else 0 end

Acesta din urma utilizand corect indecsii pe tabela Files.

Un comentariu:

  1. :) Tot eu revin si va spun ca - in versiunile DNN 5.x aceste probleme sunt rezolvate, e vorba de 13 proceduri stocate si 3 view-uri unde era folosit acest cod WHERE 'fileid=' + convert(varchar,dbo.Files.FileID)

    RăspundețiȘtergere