MySQL查询速度很慢时,将子查询
问题描述:
我有以下查询,只有800记录服用5个minits运行,可你一些帮助,请MySQL查询速度很慢时,将子查询
SELECT
vtiger_salesorder.salesorderid,vtiger_salesorder.salesorder_no,vtiger_salesorder.sostatus,
(SELECT se.s_date
FROM
softMax_events as se
INNER JOIN vtiger_salesorder as bm ON bm.salesorderid = se.orderNum
where (bm.sostatus = 'Order' AND se.orderNum = vtiger_salesorder.salesorderid) AND se.appointTyp='60'
group by bm.salesorderid Limit 0,1) As sdate
FROM
vtiger_salesorder
Inner Join vtiger_crmentity ON vtiger_salesorder.salesorderid = vtiger_crmentity.crmid
WHERE (vtiger_salesorder.sostatus = 'Order')
and (vtiger_crmentity.deleted<>'1')
答
尝试此查询,希望是这样,这将帮助你,
SELECT vtiger_salesorder.salesorderid,vtiger_salesorder.salesorder_no,vtiger_salesorder.sostatus,se.s_date
FROM vtiger_salesorder
Inner Join vtiger_crmentity ON vtiger_salesorder.salesorderid = vtiger_crmentity.crmid
INNER JOIN softMax_events se ON se.orderNum = salesorderid
WHERE (vtiger_salesorder.sostatus = 'Order') AND/OR
se.orderNum = vtiger_salesorder.salesorderid AND se.appointTyp='60'
and (vtiger_crmentity.deleted<>'1')
编辑: 我注意到,有vtiger_salesorder and softMax_events
之间的一些关系,你可以使用这两个表的连接,并以这种方式,你可以删除内部查询,我想它可能会对其进行测试。这将有助于你确定一些修改后。
您好zzzz,我很好... thansk – user3428559
@ user3428559,如果有帮助,您可以接受答案。 – NAZIK