LINQ to SQL 效率问题

通过Beta2版本的测试显示,使用编译查询时效率可达93%,仅比原始SqlDataReader高出7%。即使在不利条件下,这种开销也几乎可以忽略不计。如果不使用编译查询,则开销约为80%。整体而言,在大多数实验室测试中,当数据库位于另一台专用且高带宽的机器上时,开销大约为30%。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rico has finally posted some numbers that show you the performance he's seeing with Beta 2 bits (sorry you don't have yours yet, we're working on it.)

A compiled query executing at about 93% efficiency (that's only 7% overhead over raw SqlDataReader.) 

I know, I know.  I still don't believe it either and I wrote the code!

And that's under explicitly biased conditions to try to magnify the overhead as much as possible. You are almost never going to see this much bias in the wild. That means that using compiled queries will most often reduce the overhead to approximately zero.  That's right.  I said 'zero.'

And what if you don't use compiled queries? As it turns out, we got a lot better there too. Rico's tests shows his query executing at about 1.8x, (that's about 80% overhead over SqlDataReader.)  To tell you the truth, I still don't like that number so I'm going to be working on it some more. :-)

As it turns out most of our lab performance tests don't run in as ideal of conditions as Rico's setup, trying to model more real-world conditions to base our goals on.  In those tests, with the database sitting on another box (still dedicated & high-bandwidth), we tend to get numbers more like 1.3x (30% overhead.)  Of course, YMMV, since there are so many dials to turn to change operating conditions, etc.

So are you 'chomping at the bit' to download Beta 2?  You should be.

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值