2013-01-24 20 views
0

我正在开发一个类似API的REST,其中将创建初始日志调用,创建数据库行以及“登录会话密钥”(GUID/uniqueidentifier)被退回给客户。此密钥随后将用于所有随后对API的调用,作为安全检查,直至注销。在EVERY API调用中,我计划要求数据库使用键查找行,并且如果行的时间戳尚未过期,则允许API提供所需的服务。用于许多API登录密钥查找的LinqToSQL或纯SQL

对于每个“登录会话”可能发生数百次的简单select语句,在这种情况下,纯SQL预格式比LinqToSQL更好吗?

+1

这也许能帮助 - 我认为简单的答案是这取决于:http://stackoverflow.com/questions/494816/using-an-orm-or-plain-sql – sgeddes

+0

? linq-to-sql是一个ORM - 我错了吗? – sgeddes

+0

由于Linq2SQL必须生成SQL,Pure SQL始终会比Linq2SQL执行得更好。但Linq2SQL在大多数情况下使用非常方便。 (我用它为大多数数据库的东西) – Magnus

回答

1

纯SQL应该比LinqToSQL执行得更好(如果有的话,因为它不需要首次构建和缓存查询),但是,这取决于用户数量,服务器功能以及这些“数百次“会发生,如果你应该关心它。

1

这是一篇从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

下面是测试的另一批读取XML文件时,实际上显示的LINQ中插入场景的赢家,有轻微的边缘。

http://www.codeproject.com/Articles/26431/Performance-Comparisons-LINQ-to-SQL-ADO-C#_Toc193731671

+0

'实际上说明了Linq在大多数场景中都是胜利者,实际上,该文章仅将其标记为数据库访问 – Jcl

+0

@Jcl的插入场景中的胜者。你是对的。我匆匆过了一下:)。我更新了我的答案,以正确反映文章 –