【问题标题】:Will Partitioned tables work same with Entity Framework分区表是否与实体框架一样工作
【发布时间】:2013-09-19 12:40:03
【问题描述】:

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

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

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

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

发现Inserting data to the Table MonitoringRecords,正在占用所有CPU。

于是我寻找解决方案,结果发现了表分区。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 这个插入语句有时每分钟执行两次或三次。因为它是一个实时系统。接收存储设备数据到 MonitoringLog 表。我已经尝试过使用索引。但对性能影响不大
    • 而且我在将数据插入到 MonitoringLog 表的函数中遇到 SQL 超时问题。
    • 好的,问题出在插入上 - 我认为分区不会对此有所帮助。您能否发布遇到超时错误的函数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    相关资源
    最近更新 更多