
批量插入数据:先 flush()最后一次性 commit(),和每次 commit()速度差别大吗?
for i in range(10000): test = TEST(number = i) db.session.add(test) db.session.flush() db.session.commit() for i in range(10000): test = TEST(number = i) db.session.add(test) db.session.commit() 1 gamexg 2018 年 3 月 8 日 via Android 每次 commit 需要至少写一次硬盘,硬盘是很多数据库的瓶颈。 |
2 jingniao 2018 年 3 月 8 日 flush 的效果我不太清楚 但每插入一条数据就 commit 肯定很慢很慢 一般的单机关系型数据库的每秒事务数普遍高不到哪里去,跟磁盘 iops 有很大关联 |