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编辑  收藏  举报

导航