如何提高对SQLServer的插入速度(3)
来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:45 点击:次
从含有 Unicode 字符的数据文件中执行大容量复制操作。
widenative 执行与 native 相同的大容量复制操作,不同之处是 char、varchar 和 text 列在数据文件中存储为 Unicode。要装载的数据文件由大容量复制数据创建,该复制是用 bcp 实用工具从 SQL Server 进行的。该选项是对 widechar 选项的一个更高性能的替代,并且它用于使用数据文件从一个运行 SQL Server 的计算机向另一个计算机传送数据。当传送含有 ANSI 扩展字符的数据时,使用该选项以便利用 native 模式的性能。
FIELDTERMINATOR [ = 'field_terminator' ]
指定用于 char 和 widechar 数据文件的字段终止符。默认的字段终止符是 \t(制表符)。
FIRSTROW [ = first_row ]
指定要复制的第一行的行号。默认值是 1,表示在指定数据文件的第一行。
FIRE_TRIGGERS
指定目的表中定义的任何插入触发器将在大容量复制操作过程中执行。如果没有指定 FIRE_TRIGGERS,将不执行任何插入触发器。
FORMATFILE [ = 'format_file_path' ]
指定一个格式文件的完整路径。格式文件描述了含有存储响应的数据文件,这些存储响应是使用 bcp 实用工具在相同的表或视图中创建的。格式文件应该用于以下情况:
数据文件含有比表或视图更多或更少的列。 www.2cto.com
列使用不同的顺序。
列分割符发生变化。
数据格式有其它的改变。通常,格式文件通过 bcp 实用工具创建并且根据需要用文本编辑器修改。
KEEPIDENTITY
指定标识列的值存在于导入文件中。如果没有指定 KEEPIDENTITY,在导入的数据文件中此列的标识值将被忽略,并且 SQL Server 将根据表创建时指定的种子值和增量值自动赋给一个唯一的值。假如数据文件不含该表或视图中的标识列,使用一个格式文件来指定在导入数据时,表或视图中的标识列应被忽略;SQL Server 自动为此列赋予唯一的值。
KEEPNULLS
指定在大容量复制操作中空列应保留一个空值,而不是对插入的列赋予默认值。
KILOBYTES_PER_BATCH [ = kilobytes_per_batch ]
指定每个批处理中数据的近似千字节数(KB)。默认情况下,KILOBYTES_PER_BATCH 未知。
LASTROW [ = last_row ]
指定要复制的最后一行的行号。默认值是 0,表示指定数据文件中的最后一行。
MAXERRORS [ = max_errors ]
指定在大容量复制操作取消之前可能产生的错误的最大数目。不能被大容量复制操作导入的每一行将被忽略并且被计为一次错误。如果没有指定 max_errors,默认值为 0。
ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) www.2cto.com
指定数据文件中的数据如何排序。如果装载的数据根据表中的聚集索引进行排序,则可以提高大容量复制操作的性能。如果数据文件基于不同的顺序排序,或表中没有聚集索引,ORDER 子句将被忽略。给出的列名必须是目的表中有效的列。默认情况下,大容量插入操作假设数据文件未排序。
n
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>