SQL SERVER 大批量数据插入到一个表,会重建数据库其他表的索引吗

cwdhubin 2009-04-03 03:52:18
现在是这种情况,数据量比较大,查询数据时先把数据插入到一个表,在这张表上面有索引和主键,但每次都是大批量的数据插入到这张表里面,大概每次10万条左右.然后这张表再和其他表关联得出信息.在业务比较忙的时候执行查询,速度很慢,很长时间都不能出来.在业务闲的时候执行2分钟左右的时间就出来了.是否执行大批量的数据插入到一张表时,会重建其他表的索引呢.谢谢各位高手指点.
...全文
222 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ai_li7758521 2009-04-04
  • 打赏
  • 举报
回复
插入数据和其他表的索引基本上没关系。
htl258_Tony 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 cwdhubin 的帖子:]
现在是这种情况,数据量比较大,查询数据时先把数据插入到一个表,在这张表上面有索引和主键,但每次都是大批量的数据插入到这张表里面,大概每次10万条左右.然后这张表再和其他表关联得出信息.在业务比较忙的时候执行查询,速度很慢,很长时间都不能出来.在业务闲的时候执行2分钟左右的时间就出来了.是否执行大批量的数据插入到一张表时,会重建其他表的索引呢.谢谢各位高手指点.
[/Quote]不会重建其他表的索引
lizzier 2009-04-04
  • 打赏
  • 举报
回复
不会重建其他表的索引
  • 打赏
  • 举报
回复
[Quote=引用楼主 cwdhubin 的帖子:]
现在是这种情况,数据量比较大,查询数据时先把数据插入到一个表,在这张表上面有索引和主键,但每次都是大批量的数据插入到这张表里面,大概每次10万条左右.然后这张表再和其他表关联得出信息.在业务比较忙的时候执行查询,速度很慢,很长时间都不能出来.在业务闲的时候执行2分钟左右的时间就出来了.是否执行大批量的数据插入到一张表时,会重建其他表的索引呢.谢谢各位高手指点.
[/Quote]

不会影响其他表。慢是因为数据比较多,“这张表再和其他表关联得出信息”
zengpengalready 2009-04-03
  • 打赏
  • 举报
回复
由于 sqlserver的查询优化器,使用统计信息 来生成 查询plan,如果,更新频繁的话,会造成统计信息改变太大,如果这个时候,sql可能使用的过时的统计信息,会生成一个 效率很低 的计划,所以如果数据变化很大时,建议重做索引,以便sql重新依据索引生成查询计划。10万数据 ,建索引的时间 比一个 低效的查询计划 开销和时间 要少得多
fcuandy 2009-04-03
  • 打赏
  • 举报
回复
跟其它表有什么关系
Teng_s2000 2009-04-03
  • 打赏
  • 举报
回复
索引多了insert就会慢,可以在大量insert时,先去掉索引,执行完再建一个索引

世界估计没有两全其美的事情吧
nzperfect 2009-04-03
  • 打赏
  • 举报
回复
不会重建其它表.
mugua604 2009-04-03
  • 打赏
  • 举报
回复
索引多了将影响你的INSERT,UPDATE!

jia_guijun 2009-04-03
  • 打赏
  • 举报
回复
不会重建其他表的索引。

22,181

社区成员

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

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