java 面试的时候,面试官问我如果批量插入大量数据,我就要一次插入,要么成功要么失败,怎么做

我之前的回答是,如果批量插入大量数据,为了提高性能,可以使用批量插入,例如每次1000条,然后提交,然后让线程休息下,放其它的进程或线程进来访问数据库。 但是面试官问,我不这么干,我就要一次性干完,要么成功要么失败,怎么处理 。 蒙蔽了···· 他到底想问什么,难道不担心性能或者锁表吗

应该是问你事物处理吧

http://blog.csdn.net/whucyl/article/details/20838079,这里可以比较快的。但是看场景吧,单机or集群,还有数据量,或者是否追求速度和效率。

采用数据库的事物处理,失败之后也可以回滚

看看这个回答是不是面试官想问的:

将数据写入隔离区,如果成功完成,则将隔离区的数据写入正式区;如果失败,则清空。
所谓隔离区,如果是数据库操作,则是临时表;如果是文件操作,则是临时文件。

其实思路很简单,可能是面试官提问不清楚吧。

就是问你事物问题啊,在后台执行的时候把插入数据的操作放到一个事物里就可以了