当前位置: 首页 > news >正文

国外免费网站域名服务器查询软件wordpress修改密码

国外免费网站域名服务器查询软件,wordpress修改密码,画江湖网站开发文档,本地环境搭建网站需求场景:定时任务中,从其他平台同步数据,并更新当前平台数据库,表数据3W,分批更新某个字段,耗时巨大,约30min,尝试性能优化。 批量更新的几种常见方式: 1.foreach 循环…

需求场景:定时任务中,从其他平台同步数据,并更新当前平台数据库,表数据3W+,分批更新某个字段,耗时巨大,约30min,尝试性能优化。

批量更新的几种常见方式:

1.foreach 循环

在mybatis的xml文件中,使用foreach动态标签拼接SQL语句,每一条数据的更新语句对应一条update语句,多条语句最终使用";"号进行拼接。

<update id="updateStudentInfoById"><foreach collection="list" item="item" separator=";">updatet_studentsetname = #{item.name},age = #{item.age}whereid = #{item.id}</foreach>
</update>

2.先删后增,取出原数据内存中更新后,先将全表数据删除,再insert插入;或者设置标志字段,先增后删,思路一致

3.使用replace into 若主键存在则更新,不存在插入

REPLACE INTO t_student (id, name, code, hobby) 
values (#{item.id}, #{item.name}, #{item.code}, #{item.hobby})

4.批量新增数据,若键重复则更新

<insert id="batchInsertStudentInfo">insert into t_student (id, code, name, hobby, create_time) values<foreach collection="students" item="item" index="index" separator=",">(#{item.id},#{item.code},#{item.name},#{item.hobby},#{item.createTime})</foreach>on duplicate key updatecreate_time = values(create_time)
</insert>

 5.when case 更新

UPDATE `t_student` 
SET `name` =
CASEWHEN `id` = 1 THEN'张三' WHEN `id` = 2 THEN'李四' WHEN `id` = 3 THEN'王五' WHEN `id` = 4 THEN'赵六' END,`age` =
CASEWHEN `id` = 1 THEN40 WHEN `id` = 2 THEN34 WHEN `id` = 3 THEN55 WHEN `id` = 4 THEN76 END 
WHERE`id` IN ( 1, 2, 3, 4 )

场景分析:当前场景需要去更新某个字段,且数据量较大,几百条数据每批进行更新,应用foreach循环更新时,耗时巨大;

性能优化:使用临时表关联全表更新,一次关联,一次更新;

<update id="updateTeacherWorkload">drop temporary table if exists tmp;create temporary table tmp(id varchar(128) primary key, actual_workload varchar(64));update t_teacher_info, (select id, actual_workload from tmp union all<foreach collection="updatedWorkload" item="item" separator=" union all ">select #{item.id}, #{item.actualWorkload}</foreach>) as tmpset t_teacher_info.actual_workload = tmp.actual_workload where t_teacher_info.id = tmp.id;
</update>

结果评估:使用临时表后总体耗费时间为12s,较原先30min,缩短150倍;

注意点:临时关联更新操作不能应用在Trascational事务中,创建临时表的操作在事务中不支持,需要做其他处理;正常小数量的更新且有事务管理要求,则优先使用foreach或其他操作。

http://www.yayakq.cn/news/29970/

相关文章:

  • 建设网站商城后台系统网站 图文混编
  • 自己做网站有名福州市网站
  • 企业网站的发展历史深圳专业做网站设计
  • 如何诚信网站平台建设谷歌浏览器官方app下载
  • 房产中介网站建设沪浙网站
  • 网站颜色背景代码手机版网站制作费用
  • wordpress网站加密码破解南京医疗网站建设
  • 做网站南京建设企业网银交易密码是什么
  • 郑州营销型网站建设哪家好电影网站开发视频
  • 网站建设要求一个简单的登录界面网页代码
  • zhi做网站顾村网站建设
  • 顶呱呱网站建设是外包的吗现在有哪些网址
  • 个人网站 cdn网址大全123下载apk
  • 渭南网站建设wifiwordpress对应国家语言
  • 建立网站的必要性有人做网站吗
  • 北京监理协会培训网站seo软件推广哪个好
  • 云南住房建设厅网站服装网站建设内容
  • 苏州网站建设万户网页设制作与网站建设宝典 pdf
  • 无锡做网站费用山东省住房建设部网站首页
  • 网站优化和网站推广排名公式
  • 网站页尾版权如何创立一个公众号
  • 在小说网站做责编网站建设协议书 印花税
  • 动力网站建设郑州网站推广哪家效果好
  • 黄骅网站wordpress定制分类
  • 淄博淘宝网站建设保定聊城网站建设
  • 宁波市有哪些网站建设公司seo优化推广多少钱
  • 泉州网站建设方案维护网站建设电话销售开场白
  • 建网站 做淘宝客公司网站设计师
  • 网站后台和前台不一致使用vue做简单网站教程
  • 白城网站建设哪家好wordpress排版乱 了