We are running JIRA 4.4.4 and MySQL. One of our customers has a direct access to the database and want's to execute the following query. It didn't terminate and while it's running the JIRA slows down. Can you explain to me why it is problematic and suggest how to fix it.
select cc.id, cc.fieldconfigscheme, cc.customfield, cfv.issue, fcs.configname, fcs.description, cf.cfname, cfo.sequence, cfo.customvalue, cfo.disabled, it.pname from configurationcontext cc left outer join fieldconfigscheme fcs on fcs.id = cc.fieldconfigscheme left outer join customfieldoption cfo on cfo.customfieldconfig = fcs.id left outer join fieldconfigschemeissuetype fcsit on fcsit.fieldconfigscheme = fcs.id left outer join issuetype it on it.id = fcsit.issuetype left outer join customfield cf on cf.id = cfo.customfield left outer join customfieldvalue cfv on cfv.customfield = cf.id where cc.project = 10216 order by 1,2,3,4;
It might help to move some of the constraints on cc into a subquery. My hypothesis is that the subquery will return a smaller result set to join on, rather than performing a huge join, and filtering at the end. Mysql's query optimizer might take care of this for you, but worth a shot.
So it would look like:
select cc.id, cc.fieldconfigscheme, cc.customfield, cfv.issue, fcs.configname, fcs.description, cf.cfname, cfo.sequence, cfo.customvalue, cfo.disabled, it.pname from (select id, fieldconficscheme, customfield from configurationcontext where cc.project = 10216) cc left outer join fieldconfigscheme fcs on fcs.id = cc.fieldconfigscheme left outer join customfieldoption cfo on cfo.customfieldconfig = fcs.id left outer join fieldconfigschemeissuetype fcsit on fcsit.fieldconfigscheme = fcs.id left outer join issuetype it on it.id = fcsit.issuetype left outer join customfield cf on cf.id = cfo.customfield left outer join customfieldvalue cfv on cfv.customfield = cf.id order by 1,2,3,4;
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, I understand, is there a way to rewrite the query so that it is more effective?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.