我在金融机构做一个项目。在这家公司中,数据库分布在不同的分支机构中。我们希望建立一个数据中心,并将所有数据库转换为一个数据库。但在这种情况下,我们有一个有超过1亿条记录的数据库表。我认为这个表中的SQL操作(例如insert、update、select)太慢,成本太高。哪种情况能帮到我?我们在我们的项目中使用了实体框架的代码优先方法。
发布于 2014-08-28 21:09:59
( A) 1亿对于SQL server来说并不算太多。通过适当的索引、磁盘拓扑、内存和CPU分配,再加上一个好的DBA来监督一段时间。一切都会好起来的。
( b)初始移徙不是EF的主题。我不推荐EF来完成这项任务。EF可以创建DB,但可以使用工具加载数据。Sample SO post
c)测试和/或研究有1亿行的SQL服务器上的预期插入/选择时间。
( d)要想在EF中获得良好的表现,诀窍在于尽可能少地在上下文中保留记录。良好的EF代码第一代码是它良好工作的关键。
发布于 2014-08-27 16:42:07
查看Bulk和BCP命令。它们被用来复制大量数据。
http://technet.microsoft.com/en-us/library/ms130809(v=sql.110).aspx
http://technet.microsoft.com/en-us/library/ms190923(v=sql.105).aspx
如果不使用MS,请在服务器中查找相应的功能。
请注意,100毫安记录可能不是真正的大量数据。我建议您做一些性能测试,以了解这是否真的是一个问题。
https://stackoverflow.com/questions/25532329
复制相似问题