MySql 中 一次update更新多条数据
来源:互联网 发布:软件删除system32 编辑:程序博客网 时间:2024/06/13 21:36
我最近遇到一个导入Excel表中数据到数据库的需求,数据量一万多条。需先查询数据库中是否存在要插入的数据,若存在则更新数据,否则插入数据。我首先按照常规思路先查询,然后插入或更新。然而nginx返回 504 time out 错误。显然,数据库操作消耗了太多的时间。经测试,该操作消耗了300多秒时间。显然,数据库需要做一些优化。我首先想到给要查询的字段加索引。经测试加索引后测试,完成一次操作耗时50秒左右,勉强可以接受。将代码部署到服务器测试发现耗时高达200秒左右。在数据库操作中,时间很大一部分消耗在了数据库链接,提交等操作上。尽量减少这些操作,能在很大程度上提高数据库操作的执行效率。我首先想到批量插入数据,通过一次性插入若干条数据。减少不必要的操作,达到节约时间的目的。然后我就想,能不能做到批量更新数据呢?我们知道Mysql并没有提供原生的批量更新方法。但并不意味没有方法能实现。在网上我找到下面这种方法
UPDATE mytable SET myfield = CASE other_field WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3)
我通过字符串拼接的方法,一次对30条数据执行更新操作。经测试,执行时间达到14秒。部署到服务器测试,21秒也完成了操作。本方法亲测可用,就是拼接字符串有点麻烦。希望对你有所帮助。
阅读全文
0 0
- MySql 中 一次update更新多条数据
- mysql 一次更新(update)多条记录
- mysql中update多条相同数据时,如何只做到只更新其中一部分?
- MySql更新多条数据不建议使用UPDATE语句
- mysql一次更新多条记录问题
- mysql 更新数据 update
- mysql update修改多条数据
- mysql 中实现多条数据同时更新
- SQL中一次插入多条数据
- mysql 批量update更新数据
- MySQL 以UPDATE更新数据
- MySQL一次更新多条不同的记录
- mysql update limit 限制更新条数
- MS sql server和MYsql中update多条数据的例子
- MYSQL update多条Select出来的数据 SQL写法
- update 一次更新多个字段(sql)
- MySQL 查询单条数据多次与一次查询多条数据的比较
- MySQL基本操作(六):建表,插入多条记录,更新表中特定数据
- hdu1698线段树
- JSONObject 转换 JSON复杂对象
- Java关于流的使用
- 拨号上网设置定时自动断网重连
- netty分割符和定长解码器的应用
- MySql 中 一次update更新多条数据
- eclips添加testNG框架
- 从url中提取域名的几种方法
- 翻转后的棋盘
- Android P2P 连接对话框按键
- JS 图片压缩上传并在iOS中矫正方向
- 数据压缩实验五
- ORACLE RMAN恢复测试脚本
- 【技巧】LESS CSS 框架简介