nquang |
07-31-2011 09:34 AM |
hook_query too much.
My forum is very slow with this query.
Code:
SELECT
userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate) AS passworddate, user.languageid AS saved_languageid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid,
language.phrasegroup_global AS phrasegroup_global,
language.options AS lang_options,
language.languagecode AS lang_code,
language.charset AS lang_charset,
language.locale AS lang_locale,
language.imagesoverride AS lang_imagesoverride,
language.dateoverride AS lang_dateoverride,
language.timeoverride AS lang_timeoverride,
language.registereddateoverride AS lang_registereddateoverride,
language.calformat1override AS lang_calformat1override,
language.calformat2override AS lang_calformat2override,
language.logdateoverride AS lang_logdateoverride,
language.decimalsep AS lang_decimalsep,
language.thousandsep AS lang_thousandsep
,mgcugp.mgc_cb_evo_default_color,mgcugp.mgc_cb_evo_chanid
,kbank_granted.allow_count AS kbank_granted_count
,kbank_granted.allow_userid AS kbank_granted_userid
,kbank_granted.allow_username AS kbank_granted_username
,kbank_granted.allow_usergroupid AS kbank_granted_usergroupid
,kbank_granted.allow_membergroupids AS kbank_granted_membergroupids
,kbank_granted.allow_post_thanks_thanked_times AS kbank_granted_post_thanks_thanked_times
FROM user AS user
LEFT JOIN userfield AS userfield ON (user.userid = userfield.userid)
LEFT JOIN usertextfield AS usertextfield ON (usertextfield.userid = user.userid) LEFT JOIN language AS language ON (language.languageid = IF(user.languageid = 0, 1, user.languageid))
LEFT JOIN usergroup AS mgcugp ON (user.usergroupid=mgcugp.usergroupid)
LEFT JOIN (
SELECT
kbank_granted.userid AS userid
,COUNT(*) AS allow_count
,GROUP_CONCAT(user.userid SEPARATOR '|') AS allow_userid
,GROUP_CONCAT(user.username SEPARATOR '|') AS allow_username
,GROUP_CONCAT(user.usergroupid SEPARATOR '|') AS allow_usergroupid
,GROUP_CONCAT(user.membergroupids SEPARATOR '|') AS allow_membergroupids
,GROUP_CONCAT(user.post_thanks_thanked_times SEPARATOR '|') AS allow_post_thanks_thanked_times
FROM `kbank_granted_permission` AS kbank_granted
INNER JOIN `user` AS user ON (user.userid = kbank_granted.allowid)
WHERE kbank_granted.userid = 4124
GROUP BY kbank_granted.userid
) AS kbank_granted ON (kbank_granted.userid = user.userid)
WHERE user.userid = 4124;
Can you give me some recommend about optimization (optimize query or optimize forum-admincp or optimize mysql ...)
THANK YOU!
|