[Rt-devel] Query Slowness (was: 3.4.0rc1 slow)
Jesse Vincent
jesse at bestpractical.com
Sat Feb 19 16:00:56 EST 2005
On Sat, Feb 19, 2005 at 12:54:04PM -0800, dustin at cnw.com wrote:
> David's Thread :
>
> http://lists.bestpractical.com/pipermail/rt-devel/2005-January/006663.html
>
> I took a look at the patch you posted in this post :
>
> http://lists.bestpractical.com/pipermail/rt-devel/2005-January/006709.html
>
> But it looks like the performance problem he had was when there was no
> object passed to the SelectOwner component.
This is an issue that someone reported. I proposed a fix. Everyone who's
tried the fix (which is more extensive than your first glance, I
believe) has told me that it's resulted in a massive performance
improvement. Give it a shot and tell me if I'm wrong? Regardless, we're
unlikely to do performance work on 3.0, except for customers who can't
upgrade.
Jesse
>
> Dustin
>
> On Sat, 19 Feb 2005, Jesse Vincent wrote:
>
> > Can you send a pointer to David's message? I can't find it in the
> > archive?
> >
> >
> > On Sat, Feb 19, 2005 at 03:03:42AM -0800, dustin at cnw.com wrote:
> > > On Fri, 18 Feb 2005, Jesse Vincent wrote:
> > >
> > > >
> > > >
> > > >
> > > > On Fri, Feb 18, 2005 at 05:18:09PM -0800, dustin at cnw.com wrote:
> > > > > Hello,
> > > > >
> > > > > Our instance of RT is suffering from the exact same issue. It happens
> > > > > anytime an owner dropdown box is rendered. RT 3.0.11, MySQL 4.0.16,
> > > > > SearchBuilder p5-DBIx-SearchBuilder-0.99
> > > >
> > > > So. We did a lot to fix this in 3.4.0 and newer searchbuilders.
> > > > Upgrading might be worth a shot.
> > > >
> > >
> > > The thing that scares me is that David and his tests with 3.4.0 show the
> > > same issue with the same query using the new RT and the new version of
> > > SearchBuilder.
> > >
> > > > >
> > > > > David Kerry wrote :
> > > > >
> > > > > > LOG: duration: 1983.993 ms statement:
> > > > > > SELECT DISTINCT main.* FROM (Groups main LEFT JOIN
> > > > > > Principals Principals_2 ON ( main.id = Principals_2.id)),
> > > > > > ACL ACL_1 WHERE ((ACL_1.RightName = 'OwnTicket')) AND
> > > > > > ((Principals_2.Disabled = '0')) AND ( ( ACL_1.PrincipalId = main.id AND
> > > > > > ACL_1.PrincipalType = 'Group' AND ( main.Domain = 'SystemInternal' OR
> > > > > > main.Domain = 'UserDefined' OR main.Domain =
> > > > > > 'ACLEquivalence')) OR ( ( (main.Domain = 'RT::Queue-Role' AND
> > > > > > main.Instance = 102) ) AND main.Type = ACL_1.PrincipalType) ) AND
> > > > > > (ACL_1.ObjectType = 'RT::System' OR (ACL_1.ObjectType = 'RT::Queue' AND
> > > > > > ACL_1.ObjectId = 102) ) ORDER BY main.Name ASC
> > > > >
> > > > > Here's ours :
> > > > >
> > > > > # Time: 050218 16:12:22
> > > > > # User at Host: rt_user[rt_user] @ localhost []
> > > > > # Query_time: 5 Lock_time: 0 Rows_sent: 17 Rows_examined: 72
> > > > > SELECT DISTINCT main.* FROM ( Groups main LEFT JOIN Principals as
> > > > > Principals_2 ON ( main.id = Principals_2.id)), ACL ACL_1 WHERE
> > > > > ((ACL_1.RightName = 'OwnTicket')OR(ACL_1.RightName = 'SuperUser')) AND
> > > > > ((Principals_2.Disabled = '0')) AND
> > > > > ( ( ACL_1.PrincipalId = main.id
> > > > > AND ACL_1.PrincipalType = 'Group'
> > > > > AND ( main.Domain = 'SystemInternal'
> > > > > OR main.Domain = 'UserDefined'
> > > > > OR main.Domain = 'ACLEquivalence'))
> > > > > OR ( ( (main.Domain = 'RT::Queue-Role' AND main.Instance = 3)
> > > > > OR ( main.Domain = 'RT::Ticket-Role' AND main.Instance = 410374) ) AND
> > > > > main.Type = ACL_1.PrincipalType) )
> > > > > AND (ACL_1.ObjectType = 'RT::System' OR (ACL_1.ObjectType =
> > > > > 'RT::Queue' AND ACL_1.ObjectId = 3) ) ORDER BY main.Name ASC;
> > > > >
> > > > > Output of a DESCRIBE on that query :
> > > > >
> > > > > table, type, possible_keys, key, key_len, ref, rows, Extra
> > > > > ---------------------------------------------------------------
> > > > > ACL_1, range, ACL1, ACL1, 54, NULL, 19, Using where; Using index; Using temporary; Using filesort
> > > > > main, ALL, PRIMARY, Groups1, Groups2, NULL, NULL, NULL ,576818, Using where
> > > > > Principals_2, eq_ref, PRIMARY,PRIMARY, 4, main.id, 1, Using where; Distinct
> > > > >
> > > > > Yikes!
> > > > > _______________________________________________
> > > > > Rt-devel mailing list
> > > > > Rt-devel at lists.bestpractical.com
> > > > > http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
> > > > >
> > > >
> > > >
> > >
> >
> >
>
--
More information about the Rt-devel
mailing list