Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLServer表设计和使用SqlBulkCopy插入数据_Sql_Sql Server_Database Design_Sql Server 2014_Sqlbulkcopy - Fatal编程技术网

SQLServer表设计和使用SqlBulkCopy插入数据

SQLServer表设计和使用SqlBulkCopy插入数据,sql,sql-server,database-design,sql-server-2014,sqlbulkcopy,Sql,Sql Server,Database Design,Sql Server 2014,Sqlbulkcopy,我只需要一个关于如何最好地利用SqlBulkCopy的建议 假设我有一张如下所示的表格 Type BidNumber HQregion Services PrimaryExec Value -------------------------------------------------- 22 USA Some None 33 24 Europe None Delt

我只需要一个关于如何最好地利用
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文件中的数据复制到此表中

我想知道是否应该将表拆分为多个表,这些表具有相同的精确列,但根据类型进行区分,因此一个表用于say
MainData
,另一个用于
SLData
GVData
,然后使用
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大容量复制来说太小了。像蒂尼一样。这是我希望在一秒钟左右上传的大小。

你把事情复杂化了。100k对于sql大容量复制来说太小了。像蒂尼一样。这是一个我希望在一秒钟左右上传的大小。

如果出于将来增加大小的原因,您希望划分EXCEL,我建议您保持excel的原样,并将完整的数据批量复制到暂存表中,然后将特定的筛选数据多播到相应的表中。

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