Ticket #3260 (closed defeito: fixed)

Opened 7 years ago

Last modified 7 years ago

Requisição de alarmes de eventos custosa quando existem muitos eventos

Reported by: cristiano Owned by: cristiano
Priority: alta Milestone: Expresso 2.5.0
Component: ExpressoCalendar Version: trunk
Severity: grave Keywords: PROGNUS
Cc: WorkGroup:

Description

A consulta SQL requisitando os alarmes de um usuário mostra-se custosa quando a agenda possui muitos eventos. Foi constatado que a expressão

CASE WHEN rep.object_id = co.id 
THEN rep.id = occ.repeat_id AND occ.occurrence - al.alarm_offset >= '1352253600000' 
AND occ.occurrence - al.alarm_offset <= '1352340000000' 
ELSE (co.range_start - al.alarm_offset) >= '1352253600000' 
AND (co.range_start - al.alarm_offset) <= '1352340000000' END

quando executada em um banco com muitos eventos, acaba demorando para ser respondida. Referência: arquivo DBMapping.php, linha 1102. Otimizar esta query.

Change History

comment:1 Changed 7 years ago by cristiano

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.