代码之家  ›  专栏  ›  技术社区  ›  Johannes Setiabudi

.NET 4中的Linq to SQL性能

  •  0
  • Johannes Setiabudi  · 技术社区  · 15 年前

    我在.NET 3.5和.NET 4上运行了一个简单的查询,如下所示:

    var x = from o in Orders
            join ot in OrderTypes on o.OrderTypeId equals ot.OrderTypeId
            where or.OrderTypeName.Contains("sales")
            select o;
    var y = x.ToList();
    

    相同的代码在.NET 3.5和.NET 4上运行,连接到同一个数据库,两个DBML文件都在各自的.NET版本中生成。两者都返回正确的记录数(约350条记录)。数据库表索引正确。分别在vs 2008和vs 2010中以调试模式运行。当我直接在SQL mgmt studio中运行T-SQL中的查询时,它运行得很快,几乎是即时的。所以这绝对不是数据库对象的问题。

    问题是:在.NET 3.5中运行的运行速度很快(应该是,不到1秒,我没有精确的测量,但几乎是即时的)。但是在.NET 4中运行的时间超过5秒。

    有人知道为什么吗?或者…帮助?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Kris    15 年前

    您可以尝试在VS 2010中禁用IntelliTrace。