2
Vote

Ealo MENU Provider has bad perfomance

description

Ealo MENU Provider makes many queries to database for each page request (count of queries equals NoOfPortals * 2).
And no possibility to fix it because no source files for this dll.

comments

moefree wrote Jun 2, 2010 at 9:09 AM

Admin > Languages

  1. Language: English (United States)
    Fallback Language: English (United States)
  2. Language: Russian (Russia)

Fallback Language: English (United States)

Admin > Site Settings > Default Language: Russian (Russia)

Ealo MENU Provider makes many queries to database for each page (4 Ealo (Top Menu, Left menu, 2 BreadCrumbs)) request:

Locale: en-US (Ctrl + F5)

go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'TabTitle',@Locale='en-US',@FallbackLocale='ru-RU'
go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'Tab',@Locale='en-US',@FallbackLocale='ru-RU'
go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'TabTitle',@Locale='en-US',@FallbackLocale='ru-RU'
go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'Tab',@Locale='en-US',@FallbackLocale='ru-RU'
go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'TabTitle',@Locale='en-US',@FallbackLocale='ru-RU'
go
exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'Tab',@Locale='en-US',@FallbackLocale='ru-RU'
go

exec dbo.Ealo_GetStringsByQualifierAndLocale @Qualifier=N'TabTitle',@Locale='en-US',@FallbackLocale='ru-RU'

Look like wrong FallbackLocale='ru-RU', instead FallbackLocale='en-US' (Admin > Languages> Fallback Language: English (United States)). Anyway it should be cached by DNN.

dschaeff wrote Oct 28, 2011 at 9:20 PM

The column StringText in the EALO table is defined as a text field. If your values are reasonably short (less than 100 characters or so), performance under sql 2005 can be greatly enhanced by setting the 'text in row' option for that table. The proc executes for us in just 10% of the time as before this change.

sp_tableoption N'Ealo', 'text in row', 'ON'

Note that after youexecute that command only new/updated values are stored in row; you will probably want to execute: the update query below to see performance improvement.

update ealo set StringText = StringText

wrote Feb 14, 2013 at 1:56 AM