现在是这种情况,数据量比较大,查询数据时先把数据插入到一个表,在这张表上面有索引和主键,但每次都是大批量的数据插入到这张表里面,大概每次10万条左右.然后这张表再和其他表关联得出信息.在业务比较忙的时候执行查询,速度很慢,很长时间都不能出来.在业务闲的时候执行2分钟左右的时间就出来了.是否执行大批量的数据插入到一张表时,会重建其他表的索引呢.谢谢各位高手指点.

解决方案 »

  1.   

     索引多了将影响你的INSERT,UPDATE!
      

  2.   

    索引多了insert就会慢,可以在大量insert时,先去掉索引,执行完再建一个索引世界估计没有两全其美的事情吧
      

  3.   

    由于 sqlserver的查询优化器,使用统计信息 来生成 查询plan,如果,更新频繁的话,会造成统计信息改变太大,如果这个时候,sql可能使用的过时的统计信息,会生成一个 效率很低 的计划,所以如果数据变化很大时,建议重做索引,以便sql重新依据索引生成查询计划。10万数据 ,建索引的时间 比一个 低效的查询计划 开销和时间 要少得多