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

时间:2019-01-09 18:39:42

标签: sql sql-server database-design sql-server-2014 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,另一个表用于SLData和{{1} },然后使用GVData仅将数据插入特定表中。当只有一个列的数据不同时,具有多个表的设计是不好的吗?使用批量复制时,这种方法是否有效?因为我必须在插入之前删除数据,这是一个夜间工作。

所以最终结构将是:

主表

SqlBulkCopy

SL表

BidNumber HQregion Services PrimaryExec Value

GV表

BidNumber HQregion Services PrimaryExec Value

时间表

BidNumber HQregion Services PrimaryExec Value

谢谢

2 个答案:

答案 0 :(得分:2)

您使事情变得过于复杂。对于SQL批量复制,100k很小。像微小的。这是我希望在大约一秒钟内上传的大小。

答案 1 :(得分:0)

如果出于将来增加大小的原因而希望将excel分开,我建议您保持excel不变,然后将完整数据批量复制到登台表中,然后将经过过滤的特定数据多播到相应的表中。 / p>