一般操作:
1、数据库的日志文件初始大小适当设置大一点。
2、把数据文件的个数调多一点,一般4个4个增加,然后最好分布在性能一样的多个物理磁盘,分摊IO。
3、适当加快checkpoint的频率,用sp_configure来设置。
4、2008可以使用分区来并行插入。最后,先要找到瓶颈才能找出方案

解决方案 »

  1.   

    这个可以通过使用windows 性能监控器来了解硬盘的读写速度:
    DISK(Physical Disk):  1.%Avg.Disk Queue Length 跟踪在取样时间段内在队列中等待磁盘的请求数和正获取得服务的请求数.即 指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。  
    2.%Current Disk Queue Length 处于等待状态和正获得服务的请求数。即 指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2, 就表示产生了拥塞  
      
    吞吐量计数器  
    3.%Disk Bytes/Sec 测量传输速率,是磁盘吞吐量的重要指标。即在读写操作中,从磁盘传出或传送到磁盘的字节速率  
    4.%Disk Read Bytes/Sec  
    5.%Disk Write Bytes/Sec  
    利用率计数器  
    6.%Disk Time  计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。  
      

  2.   

    这个windows性能监控器的:cmd  ->  perfmon -> 点击左边的 性能监视器 -> 在右边,右键选择“添加计数器”:
      

  3.   

    另外,要提高IO的速度 ,这个不太可能。只能是要么减小对硬盘的压力,比如把系统恢复的间隔时间设置为3分钟,那么通过批量处理来提高IO的效率,但也会增加当出现故障时,需要进行恢复的时间:EXEC sp_configure 'recovery interval', '3'
    RECONFIGURE WITH OVERRIDE要么通过并行IO,来充分利用IO,节省时间,比如:把不同的表放到不同的文件组中,而每个文件组放到不同的物理硬盘上;
    建立表分区,这样就可以把同一个表的不同的分区,放到不同的硬盘上;
    把数据文件,和日志文件,分别放到不同的硬盘上面
      

  4.   

    硬盘是什么raid级别?如果想提高写的速度,建议用raid10阵列