entityManager.clear()能让程序中的SQL语句查询提速(纯属个人见解)

通过使用entityManager.flush()方法,可以显著提升数据库查询速度。在一个具体的例子中,这种方法使得查询速度提高了10倍。该方法通过强制执行当前EntityManager上下文中的所有更改,从而达到释放资源并提高效率的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

entityManager.flush()能让程序中的SQL语句查询提速。。。

如:

AnaCprbb ana = this.getAnaCprbb(item.getCpbh(), fDate, bmbh);
if (ana != null) {
isHave = true;
int brdc = 0, brdr = 0, brfl = 0, brjh = 0, brth = 0, brzs = 0, dnsy = 0, dnls = 0, kjxf = 0, khth = 0, srkc = 0, brkc = 0;
double cpdj;
cpdj = ana.getCpdj();
brdc = dao.brdc();
brdr = dao.brdr();
brfl = dao.brfl();
brjh = dao.brjh();
brth = dao.brth();
brzs = dao.brzs();
dnsy = dao.dnsy();
kjxf = dao.brkjxf();
dnls = dao.brzxs() - kjxf;
khth = dao.khth();
brkc = ana.getBrkc();
srkc = brkc + brdc - brdr + brfl - brjh + brth + brzs + dnls
+ kjxf - khth;
AnaCprtjNew cptjNew = new AnaCprtjNew();
cptjNew.setBmbh(ana.getBaseBmxx().getBmbh());
cptjNew.setCpmc(ana.getPssCpml().getCpmc());
cptjNew.setCpdj(cpdj);
cptjNew.setBrkc(brkc);
cptjNew.setBrdc(brdc);
cptjNew.setBrdr(brdr);
cptjNew.setBrfl(brfl);
cptjNew.setBrjh(brjh);
cptjNew.setBrth(brth);
cptjNew.setBrzs(brzs);
cptjNew.setDnls(dnls);
cptjNew.setDnsy(dnsy);
cptjNew.setKhth(khth);
cptjNew.setKjxf(kjxf);
cptjNew.setSrkc(srkc);
cptjNew.setTjrq(fDate);
cptjList.add(cptjNew);
srkcTotal += srkc;
srkcValue += srkc * cpdj;
brjhTotal += brjh;
brdrTotal += brdr;
khthTotal += khth;
brthTotal += brth;
brdcTotal += brdc;
brzsTotal += brzs;
brflTotal += brfl;
dnsyTotal += dnsy;
kjxfTotal += kjxf;
dnlsTotal += dnls;
brkcTotal += brkc;
brjhValue += brjh * cpdj;
brdrValue += brdr * cpdj;
khthValue += khth * cpdj;
brthValue += brth * cpdj;
brdcValue += brdc * cpdj;
brzsValue += brzs * cpdj;
brflValue += brfl * cpdj;
dnsyValue += dnsy * cpdj;
kjxfValue += kjxf * cpdj;
dnlsValue += dnls * cpdj;
brkcValue += brkc * cpdj;
entityManager.flush();
entityManager.clear();
}

结果用了entityManager.flush (); 检索速度快了10倍之多。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值