1

我有一个带有 Table 的数据库MonitoringRecords,我正在使用实体框架插入数据。

不,问题是我现在在这个表中有大约 300,000 条记录。

现在 SQL 服务器 CPU 利用率约为 98%,内存利用率为 3.6 GB。

我运行了在这里找到的脚本:SQL Server 2008 CPU 使用率高

并发现 Inserting data to the TableMonitoringRecords正在耗尽所有 CPU。

所以我寻找了一个解决方案,我发现了表分区。

http://technet.microsoft.com/en-us/library/ms190787.aspx

我想根据日期对我的表进行分区。

  1. 所以我想问一下这会影响我代码的任何部分吗?
  2. 我需要重新编码我的实体框架插入代码吗?
  3. 这会提高性能吗?

关于如何解决我遇到的这个问题的任何其他提示?

4

1 回答 1

1

如果您对数据库文件进行分区,它不应该影响您的任何代码。

它可能会稍微提高性能,但听起来可能还有其他原因导致您的问题。

关键是找出导致 cpu 使用率上升的原因 - 是否在运行特定查询时发生 - 插入数据时

您可能需要对表应用一些索引来改进查询。

此外,如果实体框架查询很复杂,它们通常不是检索数据的最有效方式,因此您可能需要插入存储过程或其他东西。

于 2013-09-19T14:10:26.057 回答