in语句导致查询很慢
1、表A,表B,表C。其中A中的主键是B的外键,一对多的关系;B的主键是C的外键,一对多的关系。最终想查出所有符合条件的C。
原因:开发人员将A表数据先查出来,放到list中,然后用list作为in的条件查询B,放到list1中。最后将list1中的数据放到C表的in条件中。
此时,in中的数据很多,导致查询出的结果,有10多秒。
解决方法:可以通过join连接查询。
参考:http://www.cnblogs.com/xh831213/archive/2012/05/09/2491272.html
select * from C cfcb
INNER JOIN B chaaccount0_ on cfcb.cid= chaaccount0_.id
INNER JOIN A ccb on ccb.id = chaaccount0_.b
where ccb.createDate>=STR_TO_DATE('2017-01', '%Y-%m')
posted on 2017-02-20 16:01 struggle_beiJing 阅读(3293) 评论(0) 编辑 收藏 举报