SQL Server 表设计和使用 SqlBulkCopy 插入数据



我只需要一个关于充分利用SqlBulkCopy的建议。

假设我有一个如下所示的表格

    Type BidNumber HQregion Services PrimaryExec Value
    --------------------------------------------------
          22        USA      Some     None         33
          24        Europe   None     Delta        44
    SL    22        USA      Some     Tango        39
    GV    44        Mexico   Delta    Charlie      33
    Time  22        India    Charlie  None         33

可以说大约有 100k 个条目带有空Type列 100k 列,SL具有一些与空相同的数据点,但有些不同,我正在使用SqlBulkCopy将数据从 Excel 文件复制到此表中。

想知道我是否应该将表分解为多个表,这些表具有相同的确切列,但根据类型进行区分,因此一个表用于MainData,另一个表用于SLDataGVData,然后使用 SqlBulkCopy 将数据插入特定表中。当只有一列数据不同时,这是一个带有多个表的糟糕设计,并且在使用大容量复制时会更有效,因为我必须在插入之前删除数据,这是一个夜间过程。

所以最终的结构将是:

主表

BidNumber HQregion Services PrimaryExec Value

SL 表

BidNumber HQregion Services PrimaryExec Value

GV 表

BidNumber HQregion Services PrimaryExec Value

时间表

BidNumber HQregion Services PrimaryExec Value

谢谢

你把事情复杂化了。 100k 对于 SQL 大容量复制来说很小。 像小。我希望在一秒钟左右上传的大小。

如果出于将来增加大小的原因,您想划分 excel,我建议您保持 excel 原样并将完整数据批量复制到临时表中,然后将特定的过滤数据多播到相应的表中。

最新更新