sqllite 导入数据性能

需要从另一个数据集中导入一定数据进入sqllite, 我是在 dll  中开单线程处理, 线程唤醒后开启sqllite 事务,  然后导入数据。   共12 张表, 线程每次唤醒导入一张表, 导入数据有两种方法: 

1.  直接根据NewData 的 PK name 和 value 先 删除sqllite 中数据, 再直接插入

2.  先根据Newdata PK name& value 在sqllite 中select , 如果有数据 则 update 没有则 insert

方法一:

Insert 语句平均执行: 301.8861 ms (平均 23 个字段)  116 次 共 35.018 sec

Delete语句平均执行: 310.2870 ms                                 120 次 共 37.234 sec

方法二:

select 语句平均执行: 3.4736 ms  116 次     共 0.402 sec

Update&Insert 平均: 243.3451 ms 120 次 共 29.201 sec

性能差别怎么这么大, 看来sqllite 的事务 还是很多秘密 ....

不过 sqllite 和 oracle 比还是好慢啊!

你可能感兴趣的:(oracle)