重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果是同一个服务器上,那么如果用bcp导出数据,再导入数据,效率可能还不如分批次的导入效率好,本来bcp的效率是挺高的,但是先导出,再导入,就得花2倍时间。
10年积累的网站设计制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有黎川免费网站建设让你可以放心的选择与我们合作。
我觉得上面提到的分区表,应该是一个好办法,但是分区表在把某个表的数据转移到其他表的时候,那么这个分区的数据就没有了,而上面的意思只是插入,也就是原来的表的数据还在,只是把原表的数据插入到另一个表。
所以,我在想,一个表的数据,而且是大量的数据,为什么要插入到另一个表中,是否一定要这么做呢?
原来的表(t)没有做分区, 目的就是改成分区表, 步骤如下:
1. 建新表(t2);
2. 将旧表t数据插入到新表t2;
3. 将旧表删除;
4. 重建约束和索引;
其实事情已经做完了, 2亿7千万条数据存储过程分批插入大概3小时完成, 只是探索一下:
有无更好更方便的方式来做这个事情
1:快速启动SQLServer数据库服务
在命令窗口中输入 net start mssqlserver
2:快速停止SQLServer数据库服务
在命令窗口中输入 net stop mssqlserver
开始-运行
1:快速启动SQLServer数据库服务
在命令窗口中输入 net start mssqlserver
2:快速停止SQLServer数据库服务
在命令窗口中输入 net stop mssqlserver
1,给两个表都建立索引
2,在用sql时,指明你的字段名,哪怕你有100个字段,就把这100个字段名写出来,而不是用*
你试下这个,应该速度会快很多。就只用第二个就会速度有明显提升
如果你只要符合结果的前十几条,用
select top 15 字段名1,字段2.... from ....where....
这样就只读前几条了 尽量不要用order by
不管是控制台应用程序还是web应用程序,在VS中调试和运行,数据库连接数正常。
控制台应用程序,编译后运行,连接数正常,web应用程序,编译后,放在IIS下运行,数据库连接数增长速度过快,随着测试程序运行时间增长,连接数达到正常情况下的几倍甚至十几倍,甚至会把数据库卡死,目前暂时不知道为什么会这样,以及web程序应该怎样处理这个问题,遇到这种情况只能使用控制台应用程序了。