【问题标题】:SQL Server table design and using SqlBulkCopy to insert dataSQL Server 表设计和使用 SqlBulkCopy 插入数据
【发布时间】:2019-01-09 18:39:42
【问题描述】:

我只需要关于充分利用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,然后使用@987654329 @ 只是将数据插入到特定的表中。当只有一列数据不同时,多表的设计是否糟糕,并且在使用批量复制时是否有效,因为我必须在插入之前删除数据,而且这是一个夜间过程。

所以最终的结构是:

主表

BidNumber HQregion Services PrimaryExec Value

SL 表

BidNumber HQregion Services PrimaryExec Value

GV 表

BidNumber HQregion Services PrimaryExec Value

时间表

BidNumber HQregion Services PrimaryExec Value

谢谢

【问题讨论】:

    标签: sql sql-server database-design sql-server-2014 sqlbulkcopy


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        相关资源
        最近更新 更多