什么是最好的方式Sql Raw Queries或Linq

时间:2014-04-07 15:20:01

标签: c# sql stored-procedures linq-to-sql linq-to-entities

我对SQL原始查询更熟悉。大多数时候我使用存储过程来执行复杂查询,并且使用简单实体框架方法和Linq查询完成插入,删除,更新和选择一条记录。使用Linq和SQL Row查询有哪些优点和缺点,以及最佳实践是什么。

1 个答案:

答案 0 :(得分:1)

SQL几乎总是(很多)更快,因为它针对返回特定数据集进行了高度优化。它使用复杂的索引来管理知道在哪里查找数据以便能够执行此操作。但这通常也取决于您的数据库维护。例如,您可以通过向数据库添加索引来加快数据库搜索的速度,正如您所看到的,如果要优化性能,SQL需要的工作量不仅仅是编写存储过程。

另一方面,Linq实现起来要快得多,而SQL存储过程往往需要更长的时间来编写,并且不需要您对数据执行维护。我个人认为SQL难以阅读,而Linq和程序代码对我来说很自然。

因此,我认为SQL更快,更乏味,而程序化方法更慢但更容易实现。

如果您正在处理一个小型数据集,您可能会使用Linq,但如果您使用大型数据库SQL几乎总是可行的话。