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文件中的数据复制到此表中
我想知道是否应该将表拆分为多个表,这些表具有相同的精确列,但根据类型进行区分,因此一个表用于sayMainData
,另一个用于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表中,然后将特定的过滤数据多播到相应的表中