请教关于数据中一张表的数据复制另一张表的问题

cz49009 2016-01-11 03:50:46
我有两张结构完全相同的表,我现在使用insert into table1 select * from table2,但是在C#代码里面执行这个SQL的话,数据并没有成功复制到table1里面,如果在数据库里面直接执行这个SQL语句的话,时间很长。
对了,复制的数据有400多万条。是数据量太大的原因吗?
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxiaomin19921 2016-01-18
  • 打赏
  • 举报
回复
楼上说的, 1.可以写一个任务,每晚固定时间更新数合法据到正式表中 2我.遇到过将orcale数据表转成sqlserver数据表。首先判断当前正式表是否是最新,最新更新时间。 然后可以分段执行插入语句。中间会遇到事务,全部更新完成后再提交事务,否则回滚。
cz49009 2016-01-13
  • 打赏
  • 举报
回复
像5楼和1楼说的那样吧,分批次执行。 回复6楼,就是写的windowservice,数据没有成功复制过去,所以调试看的,发现问题所在。 数据只有20多万条的时候,是可以成功入库的,看来原因真的是数据量太大了。
纸飞机_ 2016-01-12
  • 打赏
  • 举报
回复
没必要到C#里面执行,用sql计划任务指定时间执行就可以了
正怒月神 版主 2016-01-12
  • 打赏
  • 举报
回复
楼主,既然你是放入临时表。 那我建议你创建一个 windowservice或者sql的计划任务。每天凌晨自己跑这个数据库脚本。 还有。假设你table1和table2表结构相同。 那么请问,你有主键吗?是自动增长型的id吗? 如果是的话, insert into table1 select * from table2 这句话可能效果是这样的insert into table1(name,age) select id,name,age from table2这样就可能导致失败。 建议还是规范的书写sql,insert into table1(列名,列名。。。。) select 列名,列名。。from table2
myhope88 2016-01-12
  • 打赏
  • 举报
回复
分批执行吧,数据这么大,肯定会超时的
cz49009 2016-01-11
  • 打赏
  • 举报
回复
引用 3 楼 u012012237 的回复:
不明白你为什么要在代码中执行这个操作,这样会很费时的,你可以直接在SQL中操作试试,你可以参考一下这个:http://www.cnblogs.com/liangss/p/5120732.html
业务上的需要,一张临时表,一张正式表,因为每天都有数据需要更改,所以为了防止影响到正常表的使用,就先把数据放入临时表,当临时表的数据成功后,再把数据复制到正是表中。不可能每天有数据的更新我就去SQL中操作吧
风云再起9310 2016-01-11
  • 打赏
  • 举报
回复
不明白你为什么要在代码中执行这个操作,这样会很费时的,你可以直接在SQL中操作试试,你可以参考一下这个:http://www.cnblogs.com/liangss/p/5120732.html
cz49009 2016-01-11
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
数据量太大建议分段添加
我是想确认下造成那个问题的出现是因为数据量太大的原因吗?还是因为其它的一些原因?
xdashewan 2016-01-11
  • 打赏
  • 举报
回复
数据量太大建议分段添加

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧