Foxtable(狐表)用户栏目专家坐堂 → sql一次性union all插入多行数据显示查询超时怎么办?


  共有3314人关注过本帖平板打印复制链接

主题:sql一次性union all插入多行数据显示查询超时怎么办?

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


加好友 发短信
等级:八尾狐 帖子:1908 积分:16976 威望:0 精华:0 注册:2014/7/29 19:09:00
sql一次性union all插入多行数据显示查询超时怎么办?  发帖心情 Post By:2018/10/27 18:49:00 [只看该作者]

在一个查询表中有5000条左右记录,用下面的语句拼接想一次性插入到sql数据库中
Dim sb As new  StringBuilder
sb.AppendLine("insert into " & sqltbn & "(" & str1.trim(",") & ")")  '大量数据先加入开始行
For Each dr As DataRow In drs  
  Dim tb As DataTable = DataTables(dr("wintbN")) 
  Dim sqltbn As String = dr("tbn")  '后台sql数据表名
       '---先获取要写入值的字段名称
        Dim str1 As String = ""
        For Each dc As DataCol In tb.dataCols
            If dc.name <> "RowNum" Then  '--排除分页加载列否则出错
                str1 + = dc.Name & ","
            End If
        Next
        str1 + = "_SortKey"   '加上排序列为最后一列,否则上下移动不能保存

   sb.AppendLine("Select " & str2.Trim(",") & vbcrlf & "Union All" )  '大量数据先加入开始行

Next
最后一次性插入到sql数据库中
 If sb.ToString > "" AndAlso flag1 = 1 Then
     Dim s As String = sb.ToString
     sqlList.Add(s.SubString(0,s.Length - 11))  '加入事务中
  End If
最后运行事务保存时等待十几秒就弹出弹出查询超时的错误,有什么方法可以改进(除了不要一次性保存这么多这个方法外)
还是如何设置sql弹出查询超时的时间(数据少时很快排除其他语法问题)

谢谢!


 回到顶部