Foxtable(狐表)用户栏目专家坐堂 → [求助]大数据的处理


  共有2624人关注过本帖树形打印复制链接

主题:[求助]大数据的处理

帅哥哟,离线,有人找我吗?
cxqxjyzg
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:610 威望:0 精华:0 注册:2012/3/14 8:46:00
[求助]大数据的处理  发帖心情 Post By:2014/12/2 11:37:00 [显示全部帖子]

我现在建了个sql数据库,1行存放一个站点1天的各个要素值,现在要增加130个站点50年的资料,数据量很大,我的思路是先查找某站点某天的资料是否入库了,如果没有,新增一行,加入数据,否则更新数据,可是非常慢,追加1个站点的一个要素都要2个多小时。求指点,有没有更好的方法。代码如下:

 

'''加日雨量
Dim dr1 As DataRow
Dim dt As Date
Dim fl As String

For Each dr As DataRow In DataTables("rd56768").DataRows
    For i As Integer =1 To Date.DaysInMonth(dr("年"),dr("月"))
        dt = dr("年") & "/" & dr("月") & "/" & i
        fl = "Id = '56768' and datetime = " & "#" & dt & "#"
        'Output.Show("条件:" & fl)
       
        dr1 = DataTables("日气象要素").Find(fl)
        If dr1 IsNot Nothing Then '如果找到的话
            dr1("R") = dr("r" & i)
            dr1("R2008") = dr("r28" & i)
            dr1("R0820") = dr("r82" & i)
        Else
            Tables("日气象要素").AddNew()
            dr1("R") = dr("r" & i)
            dr1("R2008") = dr("r28" & i)
            dr1("R0820") = dr("r82" & i)
           
        End If
       
    Next
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
cxqxjyzg
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:610 威望:0 精华:0 注册:2012/3/14 8:46:00
  发帖心情 Post By:2014/12/2 12:12:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片2.jpg
图片点击可在新窗口打开查看

图1里的表是原始数据,一个要素一个月存一行,每个站点一个要素存一个文件,我想把所有站点所有要素放在一个库里,如图2里的表,也就是按我的要求,把表1里面的数据转存到表2里。就是这个意思。

 


 回到顶部
帅哥哟,离线,有人找我吗?
cxqxjyzg
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:610 威望:0 精华:0 注册:2012/3/14 8:46:00
  发帖心情 Post By:2014/12/2 12:13:00 [显示全部帖子]

以下是引用有点甜在2014-12-2 11:47:00的发言:

 大数据量,不要用find函数。

 

 还不清楚你具体的问题,上传一个例子操作一下。

[此贴子已经被作者于2014-12-2 11:48:32编辑过]

不用find函数,还有更好的查找函数吗?


 回到顶部
帅哥哟,离线,有人找我吗?
cxqxjyzg
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:610 威望:0 精华:0 注册:2012/3/14 8:46:00
  发帖心情 Post By:2014/12/2 12:51:00 [显示全部帖子]

help ? 木有人有空看啊?

 回到顶部