新上线一个功能,在用户中内心面, 以前这个功能是在其余模板的, 由于并发访问量低,因此一直没有问题。ajax
结果在用户中心首页里面就卡死了, 网站都快蹦了!!!sql
开始是由于我查询的量太大了,由于我预测通常这个功能的数据量不大,一次全查询出来,这样用户每次 操做的时候并发
不须要ajax了,提升了体验。网站
最后 是 SQL写很差, 子表查询的数据量太大了,并且并发量也多,因此出现了这个问题rest
原本SQL是这样的 select t.loanSign_id,t.tenderMoney,t.interest,lb.loanNumber,rr.preRepayDate, rr.is_prepayment,rr.prepayment_min_day,rr.id,l.useDay from ( select sum(lc.tenderMoney) as tenderMoney,sum(lc.interest) as interest,lc.userbasicinfo_id,lc.loanSign_id from loanrecord lc join loansign loan on lc.loanSign_id=loan.id WHERE loan.loanstate=3 group by lc.loanSign_id,lc.userbasicinfo_id ) t join repaymentrecord rr on rr.loanSign_id=t.loanSign_id JOIN loansignbasics lb ON t.loanSign_id=lb.id join loansign l on t.loanSign_id=l.id WHERE t.userbasicinfo_id = 93 AND rr.repayState IN (1,3) ORDER BY rr.preRepayDate ASC,lb.loannumber ASC 由于 子表 t ( select sum(lc.tenderMoney) as tenderMoney,sum(lc.interest) as interest,lc.userbasicinfo_id,lc.loanSign_id from loanrecord lc join loansign loan on lc.loanSign_id=loan.id WHERE loan.loanstate=3 group by lc.loanSign_id,lc.userbasicinfo_id ) t 没有加上 用户id 的 过滤,只在 where里面 过滤了,因此致使了这个问题