mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #15332
[Bug 1081947] Re: Use of CAST() causes extreme slowdown in large MySQL sites
I've created a couple of patches - the first addresses the problem where if a site was first created with version 1.0 or earlier there were missing keys on some fields. The patch checks on upgrade if the keys exist and if not adds them
https://reviews.mahara.org/#/c/2744/
The second patch addresses a couple of places where CAST() is used for mysql sql queries.
https://reviews.mahara.org/#/c/2748/
If someone has a large mysql site can they check that patch 2 does
A) work - eg one still gets the same results when using it as they do when it is not in place, and
B) that it makes for faster db calls
Cheers
Robert
** Changed in: mahara
Status: Confirmed => In Progress
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1081947
Title:
Use of CAST() causes extreme slowdown in large MySQL sites
Status in Mahara ePortfolio:
In Progress
Bug description:
Mahara version 1.5.2
Linux CentOS release 5.8
PHP Version 5.3.15
MySQL 5.0.77
When editing a page and trying to add a normal text box by dragging it
into the page, this loads for approx 2 minutes or more and then
eventually appears.
It happens with a journal too but all others are fine and are instant
as they should be.
I'm not getting any apache log errors for this nor general server
errors. The only thing I am able to see is the query that it hangs on
for this length of time.... it is the below...
I hope someone can help as obviously this is causing quite a lot of
issues for the users!! Anyone able to diagnose what is the issue here?
The thing is, there is another exact version of the Mahara site
alongside this one but just a blank version which runs perfectly fine
so this must be an issue within the database somewhere or the
maharadata.
Query below: this hangs for about 1 minute 45..
SELECT a.*, CAST(a.owner IS NOT NULL AND a.owner = '1739' AS UNSIGNED) AS editable FROM "artefact" a
LEFT OUTER JOIN "artefact_parent_cache" apc ON (a.id = apc.artefact AND a.institution = 'mahara' AND apc.parent = 371) WHERE (
a.owner = '1739'
OR a.id IN (
SELECT aar.artefact
FROM "group_member" m
JOIN "artefact" aa ON m.group = aa.group
JOIN "artefact_access_role" aar ON aar.role = m.role AND aar.artefact = aa.id
WHERE m.member = '1739' AND aar.can_republish = 1
)
OR a.id IN (SELECT artefact FROM "artefact_access_usr" WHERE usr = '1739' AND can_republish = 1)
OR a.institution IN ('test','mahara')
) AND artefacttype IN('blog')ORDER BY title ASC LIMIT 10 |
Then this one for the rest of the time until eventually the text box
or journal appears on the page:
SELECT COUNT(*) FROM "artefact" a
LEFT OUTER JOIN "artefact_parent_cache" apc ON (a.id = apc.artefact AND a.institution = 'mahara' AND apc.parent = 371) WHERE (
a.owner = '1739'
OR a.id IN (
SELECT aar.artefact
FROM "group_member" m
JOIN "artefact" aa ON m.group = aa.group
JOIN "artefact_access_role" aar ON aar.role = m.role AND aar.artefact = aa.id
WHERE m.member = '1739' AND aar.can_republish = 1
)
OR a.id IN (SELECT artefact FROM "artefact_access_usr" WHERE usr = '1739' AND can_republish = 1)
OR a.institution IN ('test','mahara')
) AND artefacttype IN('blogpost') |
Thank you for your help
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1081947/+subscriptions
References