Foxtable(狐表)用户栏目专家坐堂 → 使用云服务器,数据表导入后,记录有3000行,全部赋值后保存,时间太长,有没有解决办法。


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

主题:使用云服务器,数据表导入后,记录有3000行,全部赋值后保存,时间太长,有没有解决办法。

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 14:31:00 [显示全部帖子]

新导入的数据可以看看:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=147288&replyID=&skin=1

修改旧数据可以看看: 

 

 下载信息  [文件大小:1.3 MB  下载次数:387]
图片点击可在新窗口打开查看点击浏览该文件:数据保存时的sql语句合成函数 .zip


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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 14:51:00 [显示全部帖子]

试试上面2楼第二个用法

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 15:02:00 [显示全部帖子]

那就先分析代码,学会看明白。原理就是把表格的数据生成为sql,然后把所有需要执行的sql合并为一条长sql一次性执行。

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 17:29:00 [显示全部帖子]

不可能吧。云服带宽有多少?数据库这个表现在有多少数据?有没有添加索引?保存是不是触发了其它代码处理?导入进去后有没有重新加载数据再改一个字段值?如果没有重新加载,相当于重新又保存一批数据了。既然要做修改,为什么不改完再一次性SQLbulkcopy?

做个例子发过来测试一下

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 21:08:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/14 21:50:00 [显示全部帖子]

多看看网上的文章,搞懂什么是索引,有什么作用。

一般经常用作查询条件的列可以作索引

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/19 21:19:00 [显示全部帖子]

foxtable默认的保存都是一行一行保存的。如果有1000行数据,一行数据保存到远程数据库一个来回基本需要0.1s,1000行大概就是100秒。

所以2楼的方法就是为了减少访问数据库的次数,尽量一次性把数据拼成sql一次执行,这样只需要一个来回,剩下的瓶颈就是服务器的带宽了

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


加好友 发短信
等级:超级版主 帖子:110348 积分:561588 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/26 22:16:00 [显示全部帖子]

foxtable只保存改变的数据,编辑其中的几行就只会保存这几行。还是做个实例来测试吧

 回到顶部