代码之家  ›  专栏  ›  技术社区  ›  Adeel

Linq to SQL是否应用于流量较高的网站?

  •  9
  • Adeel  · 技术社区  · 14 年前

    我读过很多关于Linq to SQL性能的文章。我得到的结果是它比普通方法(DAL或Microsoft企业库)慢。 即使在性能调整之后,读写操作也会变慢 比如禁用对象跟踪和其他技巧。我知道它有快速开发、干净代码等方面,但是性能如何呢?

    如果我只用于读操作呢?

    请给出你的建议。

    3 回复  |  直到 14 年前
        1
  •  8
  •   Community Mr_and_Mrs_D    7 年前

    对于stackoverflow;-p来说,它似乎工作得很好,尤其是在使用 compiled queries ,这不太可能成为您的瓶颈,将其与适当的DB设计和获取正确的列/行进行比较(例如),并避免N+1加载。

        2
  •  4
  •   Mark Byers    14 年前

    对于读操作,linq-to-sql应该和直接写SQL一样快,因为这正是它所做的。创建SQL的开销不应该是明显的。可能有一些查询并不像您手工编写查询那样优化,但在我的经验中,它在大多数情况下都做得很好。

    对于批量更新,Linq to SQL通常较慢,因为它一次处理一行。你不能做这样的事 UPDATE Foo SET x = 0 WHERE id BETWEEN 100 AND 200 在Linq to SQL中,不提取所有行。对于这种类型的操作,目前最好手工编写SQL。

        3
  •  3
  •   Ahmad Mageed    14 年前

    由于为每个受影响的对象生成了一条单独的语句,因此更新和删除操作是linq to sql当前的问题所在。

    也就是说,这篇博文详细介绍了如何将两个操作简化为一个语句,这将有助于提高性能: Batch Updates and Deletes with LINQ to SQL .

    对于经常使用的查询,特别是那些使用参数来获得特定结果的查询,编译后的查询也会很方便。您可能还会发现这篇文章很有帮助: 10 Tips to Improve your LINQ to SQL Application Performance .