Tha*_*oke 9 .net linq linq-to-sql
我需要操纵100,000到200,000条记录.
我正在考虑使用LINQ(到SQL)来做到这一点.
我从经验中知道过滤数据视图非常慢.
那么LINQ有多快?
你能否告诉我你的经历以及它是否值得使用,或者我会更好地使用SQL存储过程(繁重且不太灵活)?
在成千上万条记录中,我需要查找数据组然后处理它们,每组有大约50条记录.
Mar*_*tin 19
LINQ to SQL将您的查询表达式转换为T-SQL,因此您的查询性能应与通过ADO.NET发送该SQL查询完全相同.我想,将查询的表达式树转换为等效的T-SQL会有一点开销,但我的经验是,这与实际查询时间相比较小.
您当然可以确切地了解生成的T-SQL,因此请确保您具有良好的支持索引.
与DataViews的主要区别在于LINQ to SQL不会将所有数据都带入内存并在那里对其进行过滤.相反,它让数据库做它擅长的事情,只将匹配的数据带入内存.
fox*_*rot 11
这取决于你想要做什么.LINQ对我来说非常快从数据库中提取数据,但LINQ-to-SQL会直接将您的请求转换为SQL来运行它.但是,有时候我发现在某些情况下使用存储过程会更好.
例如,我有一些我需要查询的数据涉及几个表,以及相当密集的密钥.使用LINQ以及LINQ定制查询的相对缺乏灵活性,这些查询将花费几分钟时间.通过手动调整SQL(即,通过在JOIN中放置'WHERE'类型参数以最小化JOIN的数据强度),我能够大大提高性能.
我的建议是,尽可能使用LINQ,但如果确定LINQ生成的SQL太慢,并且可以轻松地手动调整SQL以完成所需的操作,则不要害怕进入存储过程路由.
归档时间: |
|
查看次数: |
5236 次 |
最近记录: |