不积跬步,无以至千里!
通常来说,接触Oracle数据库,必然会使用到序列的方式,但是序列的使用方式不同也会给代码的效率带来极大的提升,下面介绍一种特别实用且高效的方式!
争取最大化的提升系统的效率...
大家都知道序列是插入数据前去查询一次序列,这样面对大数据量的插入时效率特别低
因此何不在插入数据前,去查询一批和插入数据的集合大小相同的序列,这样是不是使编程方式得到了很大的优化.....
直接上代码:
//代码解释:1.传入数据集合 2.去库中查询集合大小的序列集合 3.将序列集合与传入的数据集合组装
private static void resetList(DataTransferDao dataTransferDao,
List<Map<String, String>> dataList, String seqKey, String ID) {
// 主键生成重组
if (null != dataList && dataList.size() > 0) {
// 获取序列信息
List<BigDecimal> seqNumLst = dataTransferDao.getCommSEQ(seqKey,
dataList.size());
for (int j = 0; j < dataList.size(); j++) {
Map<String, String> dataMap = dataList.get(j);
dataMap.put(ID, String.valueOf(seqNumLst.get(j)));//ID为插入数据集合的主键
}
}
}
知识点虽小,贵在积累!大家主要看思路即可,代码是工作中用到的,因为加班,所以没有写Demo,还请谅解!!!