在SQL Server中保存并查询大量数据

时间:2014-08-27 16:24:40

标签: sql sql-server database ef-code-first ef-migrations

我在金融机构的一个项目上工作。在这家公司中,数据库分布在不同的分支中。我们想要建立一个数据中心并将所有数据库转换为一个数据库。但在这种情况下,我们有一个包含超过1亿条记录的数据库表。我认为这个表中的SQL操作(ex insert,update,select)太慢而且成本太高。哪些场景可以帮助我?我们在项目中使用Entity Framework的代码优先方法。

2 个答案:

答案 0 :(得分:1)

A)对于SQL服务器来说,1亿不是太多。使用适当的索引,磁盘拓扑,内存和CPU分配以及良好的DBA来监督一段时间。事情应该没问题。

b)初始迁移不是EF主题。我不建议EF执行该任务。 EF可以创建数据库,但使用工具加载数据。 Sample SO post

c)测试和/或对具有1亿行的SQL服务器上的预期插入/选择时间进行一些研究。

d)使用EF获得良好性能的技巧是尽可能在上下文中保留FEW记录。 好的EF代码第一代码是它运作良好的关键。

答案 1 :(得分:0)

查看批量和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 SQL Server,请在服务器中查找相应的功能。

请注意,100万条记录可能不是真正大量的数据。我建议你做一些性能测试,以确定它是否真的是一个问题。