jfinal update表字段超过50个,记录目前有2万行时执行相当慢,不知是什么情况

jfinal update表字段超过50个,记录目前有2万行时执行相当慢,不知是什么情况,where 条件为id,主键

并且大部分记录update会提示 lock wait timeout exceeded 

评论区

JFinal

2018-04-25 20:11

注意一下 myisam 引擎下执行 update 会造成表级锁

jfinal 所有数据库操作是直接转交给 JDBC 的,jfinal 对于数据库性能没有干预过,碰到性能问题一是从数据库上找,二是检查 sql 是不是本身就慢

溪碧旗

2018-04-26 13:12

@JFinal 引擎使用的是innoDB, java代码为 t.set(f,v).update(),并不是直接使用sql语句,数据库是mariadb

溪碧旗

2018-04-26 13:14

@JFinal t.set(f1,v1).set(f2,v2)........;t.update();最后调用,字段有78个,这个操作还能怎样优化呢?

JFinal

2018-04-26 13:18

@溪碧旗 两万行记录更新,为什么不使用 Db.batch 系列的方法? 这个是专门用于批量操作的

热门反馈

扫码入社