0
我在mysql中运行这个查询,并且即使在等待几个小时后它也没有完成。在OR子句中加入2个表
select *
from merged as rm
inner join client_Master as E on E.Code = rm.Code
inner join client_loan_details as d on (d.Loan_Account = rm.loanacno or rm.savingacno = d.SavingAccount) and d.id = E.id
group by rm.client_name;
由于表(merged和client_loan_details)中的行数为1000万,所以需要时间。我已经检查过,mysql使用的是正确的索引,这应该不成问题。但我想知道我的问题是否正确。 我正在用d连接表rm,而表E是一个中间表。查询是否按照SQL标准正确或者我错过了什么?
是否需要中间表? –
请包括查询计划 –
@marshalcraft中间表是必要的,以获得客户端的ID。我也尝试使用每个集合的2个查询(Client_Master + Client_details = intermediate,然后合并+ intermediate),这也需要时间。它必须只是因为有大量的行。对? – shantanuo