从多个客户端将数据并行装载到同一个表内

豆豆网   技术应用频道   2008年02月19日  【字号: 收藏本文

内容摘要:如果SQL Server运行在有多个处理器的计算机上,并且可以将要大容量复制到表内的数据分区成单独的数据文件,则建议从多个客户端将数据并行装载到同一个表内,从而提高大容量复制操作的性能。

  如果SQL Server运行在有多个处理器的计算机上,并且可以将要大容量复制到表内的数据分区成单独的数据文件,则建议从多个客户端将数据并行装载到同一个表内,从而提高大容量复制操作的性能。例如,将大容量复制从八个客户端装载到一个表里,每一个客户端必须有一个包含分区数据的部分。为获得最大性能,每个客户端的批处理大小应与客户端数据文件相同。

  从多个客户端将数据复制到表内时,应考虑下列因素:

  ◆必须先将表上的所有索引除去,然后在表上重新创建索引。考虑通过同时从单独的客户端创建每个辅助索引来并行重新创建辅助索引。

  ◆在装载时聚集索引不存在,因此使用已排序的数据和 ORDER 提示不会影响性能。

  ◆数据必须分为多个输入文件,每个客户端一个文件。

  与从单个客户端的大容量复制操作一样,建议:

  ◆指定 TABLOCK 提示。这使得在大容量复制操作过程中使用表级锁。

  ◆使用 ROWS_PER_BATCH 提示指定大的批处理大小。建议对每个客户端,使用单个批处理代表整个客户端文件的大小。

  ◆将 select into/bulkcopy 选项设置为真以启用无日志记录的操作。

来源:豆豆网转载    作者:赛迪网 林梦    责编:豆豆技术应用

正在加载评论...