量变引起质变

mysql大量数据插入探讨(量变引起质变)

最后都变了- 提交于 2019-11-26 21:49:42
分类:见Visio图 关于大量数据 导入 是应注意以下几点: 分批导入,导入一批后最后提交(commit),可以使用jdbc的(executeBatch)批量处理但是注意它的 最大上限 ,否则只会执行一部分sql语句,超过上限的sql会自动丢弃; 注意内存使用(不要出现内存益出, Java heap space; 尽量使用大量导入工具(bcp,sqlLoader)来完成( 未测试不确定 ) ; 数据量很大时导入时最好不要做太多的判断,这样会影响导入速度; 数据量很大时:是在建表时候添加主键( 假设主键不是自增长ID列 )后插入数据,还是插入数据后添加主键,前者主要的问题是大量数据插入速度减慢,如果是频繁的插入操作会导致数据库奔溃;后者的问题也是大量数据的表添加主键(需要删除重复记录,并根据mysql自己的添加主键机制来处理,速度很慢,而且频繁的操作也会导致数据库的奔溃); 如果原数据表中有索引,先删除索引,待到导入数据后再建立索引;( 主键是唯一索引的特列,这也是 5.中所述的 ) 由于数据量大的原因,需要配置mysql的 my.ini 文件中相关选项,这个过程中如果不是很明白各个参数之间的相关关系,则需要一个参数一个参数的修改,从而提高mysql的整体性能; insert 语句的处理而言,用StringBuilder代替“+”其性能是个质的提高; 利用jdbc支持的批量插入