【问题标题】:How to handle performance of parallel CRUD in single table?如何处理单表中并行 CRUD 的性能?
【发布时间】:2013-10-22 10:35:36
【问题描述】:

我有一个名为“每日结果”的表,其中包含我的应用程序中所有用户的计算信息。此信息是在为每个用户运行 calc 方法后生成的。此方法使用多相关表的数据。

在我的应用程序中执行一些操作后,我需要为一个或所有用户重新计算“DailyResult”表的信息。

在这种情况下,我将创建线程来执行计算。但我的问题是当为多用户调用 calc 方法时,线程将等待资源表(“DailyResult”)释放。该方法需要时间。

我们使用 MVC 3,Sql server Enterprise 2012 64 位,Dapper ORM 用于插入-删除-更新信息。

我们已经使用 nhibrenate,但必须用 dapper 替换它。它更好,但对于超过 2000 个并行用户,在 Dailyresult 表中插入-删除-更新信息需要花费时间。

处理此问题的最佳解决方案是什么,以提高性能。您的建议是什么?

【问题讨论】:

    标签: sql-server performance orm parallel-processing sql-server-2012


    【解决方案1】:

    我想您在“重新计算”阶段访问表的内容是什么?所以 - 如果您可以编辑用于从应用程序中的表中获取数据的查询,请添加“设置事务隔离级别读取未提交;”一开始

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多