推广 热搜: 行业  机械  设备    经纪  教师  系统  参数    蒸汽 

大数据量情况程序处理技巧

   日期:2024-11-10     移动:http://tiush.xhstdz.com/mobile/quote/64292.html

批量更新:

大数据量情况程序处理技巧

PreparedStatement并不能减少sql的执行数目. 参数传入多少次,就会执行多少条sql.

在一个事务中,由于Statement与PrestatedStatement都使用的同一个连接. Statement不会再象过去每次都去获取连接. 这种情况下,反而可以利用Statement优化PreparedStatement. 减少sql的执行条数. 但是每条sql会编译,获得执行计划.

示例1:质量度更新:

比如关键词在审核的过程中先去查询A表,得到该词的历史质量度, 如果有,就更新B表中的质量度值.

调优后的方法:

上面调优之后,由以前的kslist条sql变成了现在的5条sql,但是这5条sql都会重新编译.

经测试:10个Key感觉差别不是特别明显. 都在16ms. 结论待定.

示例2: 在广告系统中配对的批量插入与批量更新的一个优化示例:

批量广告插入最初使用的是merge into.但是即使使用的PreparedStatement的sql,仍然要执行25W次.

比如应用程序中形成的了一个配对的集合,包含了25W个元素.通过jdbcTemplate的batchUpdate批量插入这些元素,并且还需要判重,使用的sql如下:

为了在同时使用PreparedStatement的时候,将这25W条sql降下来,重构应用程序如下:在应用程序中形成ideaid-keylist的集合,针对每个idea对应的key做下面的操作,执行sql数目=idea的数目.

大数据量查询的二种方式:

1. 一种全部查询到内存,然后使用subList, subList的场景比如in参数的限制.

本文地址:http://tiush.xhstdz.com/quote/64292.html    物流园资讯网 http://tiush.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号