大家好,最近客户方要对csv文件大约10MB左右的文件数据一次行追加,删除
和多次查询。 我这边没环境。 能不能帮帮忙。 用啥技术方案最好,可以的话把执行时间也给写出来,在此谢谢了。 db服务器是unix 我这边是window vb 网速1.5 平时也热忠于帮助其他朋友解决问题,希望大家帮帮忙,谢谢
和多次查询。 我这边没环境。 能不能帮帮忙。 用啥技术方案最好,可以的话把执行时间也给写出来,在此谢谢了。 db服务器是unix 我这边是window vb 网速1.5 平时也热忠于帮助其他朋友解决问题,希望大家帮帮忙,谢谢
正向你所说的DB2 他用 *.sqc + shell + *.csv + ftp这种方案被客户否定了。不过还是谢谢你的帮助。刚才我也许没把我的需求说明白,在此追加说明:在客户端直接对数据处理,也就是及时把数据反映到db 中。这样的话用户查询时数据就是最新的了。
谢谢。希望的各方面的朋友帮帮忙
还有要是有的朋友知道10万条数据做
INSERT,DEL,SELECT 各方面的花多少时间
我这边暂时没环境,一时自己也不能作出测试结果。
谢谢了
正向你所说的DB2 他用 *.sqc + shell + *.csv + ftp这种方案被客户否定了。不过还是谢谢你的帮助。刚才我也许没把我的需求说明白,在此追加说明:在客户端直接对数据处理,也就是及时把数据反映到db 中。这样的话用户查询时数据就是最新的了。
谢谢。希望的各方面的朋友帮帮忙
还有要是有的朋友知道10万条数据做
INSERT,DEL,SELECT 各方面的花多少时间
我这边暂时没环境,一时自己也不能作出测试结果。
谢谢了
然后写几个脚本方上去(读写数据用),本地数据就不说了,
远程数据可以通过XMLHTTP提交每条数据内容到指定的脚本来处理,
虽然通讯时会增加一些带宽,但是作进度条的话会更加人性化。
这只是个方法,你可以考虑一下。
因为加载时没有什么界面,就卡在那一个空白的窗口,真的感觉很久很久。
其实,我玩 魔兽争霸3 的时候,有些地图进去时要上分钟,我都能接受,因为它
多了个进度条、还有地图的说明、还有相关的图片。所以界面的一点变化,可以让
人选择接受或不接受。
你的程序和DB服务器通讯需要时间,这个时间可以用压缩技术来节约,
但同时也会增加压缩和解压的时间,相对网络来说,如果是Internet,
压缩解压的时间是值得的,对于局域网来说,10M的数据压缩解压还麻烦。
对于读写数据库来说,服务器的的程序很关键,效率高低虽然和架构以及
客户端有关,但服务器端的效率才是最关键的。
还有,在处理海量的数据时,尽量少的统计数据的数量,尽量单条单条的
去操作数据,这样就是提高速度最好的方法。
rs.Open "Select * From 表1",conn,3,3
rsR=rs.RecordCount
for X=1 to rsR
...
if X<rsR Then rs.MoveNext
next X
rs.Close
会比
rs.Open "Select count(*)c From 表1",conn,3,3
rsR=rs!c
rs.close
rs.Open "Select * From 表1",conn,3,3
for X=1 to rsR
...
if X<rsR Then rs.MoveNext
next X
rs.Close效率低很多,就数据而言,几千条就会感觉得出
所以能用语句就用语句,用SQL语句操作也会提高效率
所以select 时分段处理
param1 = 0
param2 = 0
int i=1
wihie (true)
param1 = (param1 - 1) * 5000
param2 = 5000 * i
rs.Open "Select * From 表1 where row() > " + param1 + " and row() < " + param2,conn,3,3
rsR=rs.RecordCount
if (rsR = 0) break
for X=1 to rsR
...
if X <rsR Then rs.MoveNext
next X i = i+ 1
loop
rs.Close 因为现在暂时还没环境,不知这样的话性能会咋样。想请教一下同仁。谢谢在线等
百度的数据量那么多,也是一页一页处理的
还是建议直接用导入的方案,只不过先导入到一个临时表中,然后根据临时表对目标表进行 INSERT、DELETE,由于规则统一,通常只要 2~3 个 SQL 就能完成。
最慢的文件传输也只不过 10 秒左右,完全可以做到半分钟~一分钟内查询最新数据。