-2

我想要一些关于如何使这个简单的 LINQ 代码尽可能快速和高效的建议

tbl_WatchList 包含 51996 行

根据 VS2012 测试资源管理器,以下测试需要 2 秒才能运行

    [TestMethod]
    public void TestRemoveWatch()
    {
        using (var DB = new A4C_2012_devEntities())
        {
            var results = DB.tbl_WatchList.OrderByDescending(x => x.ID).Take(1);
            int WatchID = results.AsEnumerable().First().ID;
            Assert.IsTrue(WatchList.RemoveWatch(WatchID));
        }
    }
4

2 回答 2

2

您不需要对整个集合进行排序。

int WatchID = DB.tbl_WatchList.Max(wl => wl.ID);

应该足够了。

于 2013-10-28T11:38:03.667 回答
1

要优化,请执行以下操作:

  • 使用分析工具(例如 SQL 分析器)查看哪些 SQL 查询被发送到数据库,并查看这些查询的实际性能。
  • 选择执行缓慢的查询并手动分析查询计划或使用索引优化顾问来查看您缺少哪些索引。
  • 添加缺少的索引。
于 2013-10-28T11:43:31.910 回答