天煞的,把临时表数据插入实体表超慢,大家来看看
时间:2011-12-12
来源:互联网
临时表数据400万,实体表是空表
先测试一次,直接insert into 实体表 select * from 临时表,耗时大概在10几秒左右,感觉挺正常
正式开始,临时表需要连接一个200万左右的实体表1,查询结果也是400万,插入上面的实体表,超级慢
例如:
insert into 实体表(a,b,c,d)
select t.a,t.b,t.c,s.d
from #tmp t,table s
where t.d is null
and t.a=s.a
and t.b=s.b
超级慢,我也建立了索引了,应该和查询速度无关,至少select top 100 在5秒内,可就是insert into 实体表就超级慢,取消也没用,进程杀不掉,要重启,郁闷死了,我搞不懂到底哪里卡住了,大家帮忙想想法子,谢谢了
作者: niss 发布时间: 2011-12-12
from #tmp t,table s
where t.d is null
and t.a=s.a
and t.b=s.b
这样的速度如何
作者: guguda2008 发布时间: 2011-12-12
作者: fredrickhu 发布时间: 2011-12-12
分批导试试呢。
我猜测他是慢在把400W数据的临时表和200W数据的临时表加载到内存里并做hash连接,TOP100快是因为只连接了前100条。如果加了ORDER BY应该也会快的。如果是这种原因,分批导一样不会快,因为分批也要加排序。
另一个原因可能是INSERT时数据库文件大小需要增加,但如果只是4个短字段的插入应该不太可能导致,因为最多几十M。
作者: guguda2008 发布时间: 2011-12-12
引用 2 楼 fredrickhu 的回复:
分批导试试呢。
我猜测他是慢在把400W数据的临时表和200W数据的临时表加载到内存里并做hash连接,TOP100快是因为只连接了前100条。如果加了ORDER BY应该也会快的。如果是这种原因,分批导一样不会快,因为分批也要加排序。
另一个原因可能是INSERT时数据库文件大小需要增加,但如果只是4个短字段的插入应该不太可能导致,……
只要排序了效率就不会高了
作者: fredrickhu 发布时间: 2011-12-12
作者: guguda2008 发布时间: 2011-12-12
select COUNT(1)
from #tmp t,table s
where t.d is null
and t.a=s.a
and t.b=s.b
这样的速度如何
13秒出来总数,现在目标实体表删不掉,重启了也删不掉,天煞的,郁闷啊
作者: niss 发布时间: 2011-12-12
引用 2 楼 fredrickhu 的回复:
分批导试试呢。
我猜测他是慢在把400W数据的临时表和200W数据的临时表加载到内存里并做hash连接,TOP100快是因为只连接了前100条。如果加了ORDER BY应该也会快的。如果是这种原因,分批导一样不会快,因为分批也要加排序。
另一个原因可能是INSERT时数据库文件大小需要增加,但如果只是4个短字段的插入应该不太可能导致,……
字段是举例的,但数据文件的增长我设置了每次2G,无容量限制,另外内存8G
作者: niss 发布时间: 2011-12-12
作者: ssp2009 发布时间: 2011-12-12
select t.a,t.b,t.c,s.d into lsb
from #tmp t,table1 s
where t.d is null
and t.a=s.a
and t.b=s.b
耗时28秒,这是怎么搞的,为什么我建好的实体表通过insert into 就会卡机,等了超过28分钟都没结果,还杀不了进程,这张实体表就一个字段主键,类型是decimal(12),难道和这有关系?
作者: niss 发布时间: 2011-12-12
作者: qianjin036a 发布时间: 2011-12-12
删除实体表
换成select into 的方式
SQL code
SELECT t.a , t.b , t.c , s.d INTO 实体表 FROM #tmp t , [table] s WHERE t.d IS NULL AND t.a = s.a AND t.b = s.b--然后再增加其它列约束之类
作者: wufeng4552 发布时间: 2011-12-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28