[Rt-devel] 3.6.4rc1 performance regression on a fairly complex search (CROSS JOIN???)

Dirk Pape pape-rt at inf.fu-berlin.de
Wed Jun 6 03:17:07 EDT 2007


Hello Ruslan,

--Am 6. Juni 2007 06:13:31 +0400 schrieb Ruslan Zakirov 
<ruz at bestpractical.com>:

> Can you try attached patch?

yes, I did. It looks better now and answer is identical to that produced by 
3.6.3. Though the search is faster in 3.6.3 (it does not appear in 
mysql-slow.log)

Dirk.

# Query_time: 7  Lock_time: 0  Rows_sent: 1  Rows_examined: 259476
SELECT COUNT(DISTINCT main.id) FROM Tickets main CROSS JOIN Users Users_3 
JOIN Groups Groups_1  ON ( Groups_1.Domain = '
RT::Ticket-Role' ) AND ( Groups_1.Type = 'Requestor' ) AND ( 
Groups_1.Instance = main.id ) JOIN CachedGroupMembers Cache
dGroupMembers_2  ON ( CachedGroupMembers_2.MemberId = Users_3.id ) AND ( 
CachedGroupMembers_2.GroupId = Groups_1.id )  W
HERE (main.Status != 'deleted') AND (main.Queue = '57' AND  (  ( 
Users_3.EmailAddress LIKE '%staff@%' AND CachedGroupMem
bers_2.id IS NOT NULL )  OR  ( Users_3.EmailAddress LIKE '%math.fu%' AND 
CachedGroupMembers_2.id IS NOT NULL )  OR  ( Us
ers_3.EmailAddress LIKE '%inf.fu%' AND CachedGroupMembers_2.id IS NOT NULL 
)  OR  ( Users_3.EmailAddress LIKE '%mi.fu%'
AND CachedGroupMembers_2.id IS NOT NULL )  OR  ( Users_3.EmailAddress LIKE 
'%cedis.fu%' AND CachedGroupMembers_2.id IS N
OT NULL )  OR  ( Users_3.EmailAddress LIKE '%zuv.fu%' AND 
CachedGroupMembers_2.id IS NOT NULL )  OR  ( Users_3.EmailAddr
ess LIKE '%pcpool.mi%' AND CachedGroupMembers_2.id IS NOT NULL )  )  AND  ( 
main.Status = 'new' OR main.Status = 'open'
) ) AND (main.Type = 'ticket') AND (main.EffectiveId = main.id);


-- 
Dr. Dirk Pape (eAS - Projektleitung Campus Management)
Freie Universitaet Berlin
Grunewaldstr. 34a, 12165 Berlin
Tel. +49 (30) 838 75143, Fax. +49 (30) 838 54654



More information about the Rt-devel mailing list