当前位置: 代码迷 >> 其他数据库 >> SQLite数据导入导出景况测试
  详细解决方案

SQLite数据导入导出景况测试

热度:6059   发布时间:2013-02-26 00:00:00.0
SQLite数据导入导出情况测试
数据导入导出情况测试

为找出我们软件在数据更新过程中的性能瓶颈,我做了一个小程序,测试各种方案数据导入导出的效率,以下是测试结果:

[导出导入测试]



1,事务测试:
导入28万条数据:
带事务,需要花费400多秒,不带事务,导入数据,需要花费 23881秒。

2,导出文件测试:
28万条数据导出为
XML格式, 读取数据,用时54.375秒, 保存文件,50,277k;用时 4.96875秒; 压缩文件大小:2,895k; 从文件读取数据30.359375秒;
二进制格式, 读取数据,用时53.84375秒, 保存文件,20,595K;用时 5秒; 压缩文件大小:1,877k; 从文件读取数据5.34375秒;
CSV文件格式, 读取数据,用时56.390625秒, 保存文件,14,072K;用时 2.796875秒; 压缩文件大小:2,335k;


----------------------------------------------------------------------------------------------
对表 JJTZZH_CG 的导出:需要导出数据 37337条,装载数据前,占用内存 17,960K;装载数据后,46,418K;
使用事务,不预编译命令,用时 132秒;
使用事务,预编译命令, 用时 119秒;

3,文件导入测试:
XML文件,导入时间:99秒;内存75.044K;
二进制文件,导入时间:96秒;内存58.968K;
1,CSV文件,导入时间:78S,内存4,7K;
2,CSV文件,导入时间:70S,内存4,7K;(参数优化)
3,CSV文件,导入时间:49S,内存32.9K;(放入内存)

对表 JJTZZH_CG 的导入(XML格式),
采用DataAdapter方式,内存80.086K,用时319秒;
采用Command方式,内存74.732K,用时85秒;

===================================================================================================
结论:
1,对于SQLite,不带事务操作将会增加一个数量级的操作时间;
2,将DataSet保存为XML格式文件最大,二进制格保存式能够小一半,CSV文件能够比二进制再小1/4;
3,二进制文件比文本文件具有更高的压缩比;
4,使用Command预编译命令,能够获得更好的性能;
5,数据导入操作,CSV文件比XML或者二进制文件稍快,但是占用内存小于后者1/3甚至更小;
6,Command比DataAdapter具有更高的操作效率,1/3甚至更高。

------解决方案--------------------------------------------------------
有没有SQLITE手册之类的?
------解决方案--------------------------------------------------------
mark
------解决方案--------------------------------------------------------
感谢分享
------解决方案--------------------------------------------------------
标记下,以后注意
------解决方案--------------------------------------------------------
学习, 谢谢
------解决方案--------------------------------------------------------
学习, 谢谢
  相关解决方案