这种情况如何增大INSERT 的速度?

asaili 2003-07-19 10:00:16
INSERT INTO TABLE1 SELECT * FROM TABLE2

TABLE2表数据量很大大概20--30万条记录,现在速度特别慢,TABLE1建有索引。
...全文
46 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
commanddos 2003-07-19
  • 打赏
  • 举报
回复
先把table1上的索引删掉,再执行insert语句,然后再在table1表上增加索引
原因是索引虽然会提高select的检索速度,但也会大大降低insert或update的执行速度
cenxaoi 2003-07-19
  • 打赏
  • 举报
回复
索引会加快查询速度也会减慢的insert 和update的速度
因为SQL服务执行insert和update、delete 时不仅要修改表,而且要修改索引。

先删去Table1的索引
INSERT INTO TABLE1 SELECT * FROM TABLE2
再向Table1增加索引
leimin 2003-07-19
  • 打赏
  • 举报
回复
1.
begin tran insert_r
INSERT INTO TABLE1 SELECT * FROM TABLE2
commit tran insert_r
2.disable index in destination table
Robin 2003-07-19
  • 打赏
  • 举报
回复
saucer 2003-07-19
  • 打赏
  • 举报
回复
if you know what you are doing, try to drop the index, do the insert, then add the index again
shaken 2003-07-19
  • 打赏
  • 举报
回复
最好的方法是将table1表定期重整一次。再建立table2的索引
txlicenhe 2003-07-19
  • 打赏
  • 举报
回复
1:TABLE2和TABLE1建同样的索引可能好一点。
2:如果先将TABLE1删掉再用select * into table1 from table2呢?当然可能与你的要求不符。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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