分区表是否与实体框架相同

时间:2013-09-19 12:40:03

标签: sql-server entity-framework database-design database-administration

我有一个带有表MonitoringRecords的数据库,我正在使用Entity Framework插入数据。

问题在于我现在在此表中有大约300,000条记录。

现在SQL-server CPU利用率约为98%,RAM利用率为3.6 GB。

我运行了我在此处找到的脚本:SQL Server 2008 High CPU usage

并发现将数据插入表MonitoringRecords,正在耗尽所有CPU。

所以我找了一个解决方案,然后找到了Table partitioning。

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

我希望按照日期对我的表进行分区。

  1. 所以我想问一下,这会影响我代码的任何部分吗?
  2. 我是否必须重新编码我的实体框架插入代码?
  3. 这会提高性能吗?
  4. 关于如何解决这个问题的其他任何提示我都有?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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