MySQL查询需要优化

时间:2018-12-21 05:50:08

标签: mysql

从a中选择a.id,b.name 在a.lead_id = b.lead_id上左加入b 其中a.status ='Created'和date(a.created enter code here _ at)='2018-11-19'

2 个答案:

答案 0 :(得分:1)

您可以在下面尝试-

select a.lead_id, b.abc from table1 a
left join table2 b on a.lead_id = b.lead_id
where a.status = 'Created' and date(a.created_at) = '2018-11-19'

答案 1 :(得分:0)

能否将查询分为两个单独的单个查询,然后根据您在应用程序端使用的条件合并结果集?我认为,如果该场景适用于多个用户执行此操作,那么它至少将比现有的性能更好。 我的意思是这样:

查询1:

select a.id from table1 a where a.status = 'Created' and date(a.createdenter code here_at) = '2018-11-19'

然后 查询2:

select b.lead_id, b.name from table2 b.
  

然后合并两个结果集。或者使用来自结果集的a.id列表   使用查询2的IN子句的查询1结果,即:

select b.lead_id, b.name from table2 b where b.lead_id IN( all your a.ids here)
  

[如果根本没有a.id,则必须检查空白列表。