SQL服务器table设计并使用SqlBulkCopy插入数据

SQL Server table design and using SqlBulkCopy to insert data

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

假设我有一个 table 如下所示

    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 个文件放入此 table。

我想知道是否应该将 table 分成多个 table,它们具有完全相同的列,但根据类型进行区分,所以一个 table 表示 [=21] =],另一个用于 SLDataGVData,然后使用 SqlBulkCopy 将数据插入特定的 table。当只有一列数据不同时,多个 tables 的设计是否糟糕,并且在使用大容量复制时是否有效,因为我必须在插入之前删除数据并且这是一个夜间过程。

所以最终的结构是:

主要Table

BidNumber HQregion Services PrimaryExec Value

SL Table

BidNumber HQregion Services PrimaryExec Value

GV Table

BidNumber HQregion Services PrimaryExec Value

时间Table

BidNumber HQregion Services PrimaryExec Value

谢谢

你把事情想得太复杂了。 100k 对于 sql 批量复制来说太小了。像小的。这是我希望在一秒钟左右上传的大小。

如果您出于将来增加大小的原因想要划分 excels,我建议您保持 excel 原样并将完整数据批量复制到暂存 table,然后将特定过滤后的数据组播到对应的tables.