我正在开发一个类似 REST 的 API,其中将进行初始登录调用,创建数据库行,并将“登录会话密钥”(GUID/唯一标识符)返回给客户端。然后,此密钥将用于对 API 的所有后续调用作为安全检查,直到注销。在每次 API 调用中,我计划要求数据库使用键查找行,如果行的时间戳尚未过期,则允许 API 提供所需的服务。
对于每个“登录会话”可能发生数百次的简单选择语句,在这种情况下,纯 SQL 会比 LinqToSQL 更好吗?
我正在开发一个类似 REST 的 API,其中将进行初始登录调用,创建数据库行,并将“登录会话密钥”(GUID/唯一标识符)返回给客户端。然后,此密钥将用于对 API 的所有后续调用作为安全检查,直到注销。在每次 API 调用中,我计划要求数据库使用键查找行,如果行的时间戳尚未过期,则允许 API 提供所需的服务。
对于每个“登录会话”可能发生数百次的简单选择语句,在这种情况下,纯 SQL 会比 LinqToSQL 更好吗?
纯 SQL 应该比 LinqToSQL 执行得更好(如果有的话,因为它不需要第一次构造和缓存查询),但是,这取决于用户数量、服务器能力以及这些“数百次”的速度有多快如果您应该担心它,就会发生。
这是 2008 年的一篇长文章(5 部分),说明通过适当的调整,他能够让 Linq-to-sql 执行与直接 ADO.NET sql 调用一样或几乎一样好,而花费在构建查询上的时间更少. 希望能帮助到你!
http://blogs.msdn.com/b/ricom/archive/2007/06/22/dlinq-linq-to-sql-performance-part-1.aspx
这是另一批测试,它实际上说明 Linq 在插入场景中是赢家,并且在读取 XML 文件时略有优势。
http://www.codeproject.com/Articles/26431/Performance-Comparisons-LINQ-to-SQL-ADO-C#_Toc193731671