有两个表 a表,b表
a表大约40万条记录, 每条记录大约200个字段
b表大约35万条记录,每条记录大约150个字段 b表的这35万条记录对应a表中的35万条 .每一个b表的记录都可以在a表找到唯一的一条记录对应 关联字段是a.id= b.a_id
a表有一个状态字段 state
查询业务逻辑是这样的: 查询a表记录中state>1且在b表有对应的记录的记录,或者a表的state值为2(可以在b表没有对应记录)
查询语句如下:
SELECT
count(*)
FROM
a
LEFT JOIN b ON a.id = b.a_id
WHERE
a.state > 1
AND (b.id IS NOT NULL OR a.state = 2);
现在查询时间约1.1秒, 嫌慢
解释如下
求指点如何优化
谢谢