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

在SQL Server中保存和查询大量数据,sql,sql-server,database,ef-code-first,entity-framework-migrations,Sql,Sql Server,Database,Ef Code First,Entity Framework Migrations,我在一家金融机构从事一个项目。在这家公司,数据库分布在不同的分支机构中。我们想建立一个数据中心,并将所有数据库转换为一个数据库。但在这种情况下,我们有一个数据库表,其中包含超过1亿条记录。我认为这个表中的SQL操作(如插入、更新、选择)太慢,成本太高。哪些场景可以帮助我?我们在项目中使用实体框架的代码优先方法。看看Bulk和BCP命令。它们用于复制大量数据 如果不使用MS SQL Server,请在服务器中查找相应的功能 请注意,1亿条记录可能不是真正的大量数据。我建议您进行一些性能测试,以

我在一家金融机构从事一个项目。在这家公司,数据库分布在不同的分支机构中。我们想建立一个数据中心,并将所有数据库转换为一个数据库。但在这种情况下,我们有一个数据库表,其中包含超过1亿条记录。我认为这个表中的SQL操作(如插入、更新、选择)太慢,成本太高。哪些场景可以帮助我?我们在项目中使用实体框架的代码优先方法。

看看Bulk和BCP命令。它们用于复制大量数据

如果不使用MS SQL Server,请在服务器中查找相应的功能

请注意,1亿条记录可能不是真正的大量数据。我建议您进行一些性能测试,以了解这是否真的会成为一个问题。

A)1亿对SQL server来说不算太多。有适当的索引、磁盘拓扑、内存和CPU分配,再加上一个好的DBA来监督一段时间。事情应该会好起来的

b) 初始迁移不是EF主题。我不会推荐EF来完成这项任务。 EF可以创建数据库,但可以使用工具加载数据。

c) 在具有1亿行的SQL server上测试和/或研究预期的插入/选择时间

d) 使用EF获得良好性能的诀窍是在上下文中保存尽可能少的记录。
好的EF代码第一个代码是它正常工作的关键。

正确的索引和手动调整的查询-这绝对可行-不容易,但可行您可以在适当的时间间隔使用SSI建立数据仓库和批量加载。还可以研究分区。任何专业的商业SQL DBMS产品都可以通过适当的硬件和合格的DBA和/或DB开发人员来处理此问题。