繁体   English   中英

LINQ-To-Sql更新 - 性能问题

[英]LINQ-To-Sql Update - Performance Issues

我有一个包含230列和1200万行的表。

我需要更新每行的123个字段。

如果我尝试使用LINQ-To-Sql,我得到System.OutOfMemory Exception。

我知道如果禁用对象跟踪,我不会出现OutofMemory错误。 但我认为如果禁用对象跟踪,我无法执行更新。

更新它们的最佳方法是什么?

这不是适合LINQ-to-SQL的任务,或者坦率地说任何ORM。 希望通过以这种方式在网络两次拖动如此多的数据; 理想情况下应该用纯TSQL编写,如果需要与其他来源的数据结合使用,可能使用批量插入/ SqlBulkCopy来填充单独的表。

我肯定会建议您更改架构,将大表分离成几个小表,并且绝对避免使用linq-to-sql来获取此数据量。

以这种方式创建体系结构,即在业务级别上为每个实体提供类,这些类将调用T-SQL查询的存储过程以更新数据访问级别的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM