ADO.NET 中 DataReader 各种读取方式性能差别 -- 拍砖有分 200

Jinglecat 2007-08-08 04:44:31
很早就做了这么一个测试,一直没有发布出来,刚才看到 http://community.csdn.net/Expert/TopicView3.asp?id=5696773 中关于 box/unbox 问题,就整理了一下,与大家分享,希望对 .NET 新手而又喜欢嘀咕:“为什么你的程序就是跑我快”的朋友有帮助

限于篇幅,暂时无法讨论各种读取方式适用场景,诸位大虾楼下拍砖吧

~~【拍砖有分】允许,偶也拉风一次哈~~

A.
非官方(^_^)测试结论(以下序号越大,性能越低)

1. DataReader.GetXXX(<<ColumnIndex>>)

2. DataReader.GetXXX(Dictionary<string, int>[<<ColumnName>>])
[Dictionary<string, int>.Add(<<ColumnName>>, DataReader.GetOrdinal(<<ColumnName>>))]

3. DataReader.GetXXX((Int32)Hashtable[<<ColumnName>>])
[Hashtable.Add(<<ColumnName>>, DataReader.GetOrdinal(<<ColumnName>>))]

4. (<<Type>>)DataReader[<<ColumnIndex>>]

5. DataReader.GetXXX(DataReader.GetOrdinal(<<ColumnName>>))

6. Convert.ToXXX(DataReader[<<ColumnIndex>>])

7. (<<Type>>)DataReader[<<ColumnName>>]

8. Convert.ToXXX(DataReader[<<ColumnName>>]
...全文
1834 125 打赏 收藏 转发到动态 举报
写回复
用AI写文章
125 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengchenghao 2007-08-13
  • 打赏
  • 举报
回复
超级好东西,本人用datareader用的很多,但没注意过性能,学习了,谢楼主
hertcloud 2007-08-11
  • 打赏
  • 举报
回复
程序的性能 应该从 整体架构去考虑

这样的可读性和 维护性 太差.

[index] 的模式 严重反对.
zhaoxiaoyang5156 2007-08-11
  • 打赏
  • 举报
回复
我要分。。
深海之蓝 2007-08-10
  • 打赏
  • 举报
回复
ding
F15Eagle 2007-08-10
  • 打赏
  • 举报
回复
啊呀
kq_yy 2007-08-10
  • 打赏
  • 举报
回复
up
crossrowman 2007-08-10
  • 打赏
  • 举报
回复
m
J_fenix 2007-08-10
  • 打赏
  • 举报
回复
JF
octverve 2007-08-10
  • 打赏
  • 举报
回复



说的细,好文
xcjwxx 2007-08-10
  • 打赏
  • 举报
回复
学习
Jinglecat 2007-08-10
  • 打赏
  • 举报
回复
一般应用的性能问题很大一部分在于数据库和读取方式,而非已读入内存的数据

============

这个是自然,大的性能提升在于数据模型设计的合理性,查询策略的高效性
gimse7en 2007-08-10
  • 打赏
  • 举报
回复
新手接招,看之前先顶
yzwmg 2007-08-10
  • 打赏
  • 举报
回复
学习了
不过看的不太懂
yzwmg 2007-08-10
  • 打赏
  • 举报
回复
学习楼主
Gangzai1983 2007-08-10
  • 打赏
  • 举报
回复
拍砖--
hy_lihuan 2007-08-10
  • 打赏
  • 举报
回复
好长阿,先接分再仔细看
tiaodongdeyinfu 2007-08-10
  • 打赏
  • 举报
回复
顶楼主。。。。哈哈。。。
conannb 2007-08-10
  • 打赏
  • 举报
回复
mark
flyingfz 2007-08-10
  • 打赏
  • 举报
回复
mark
xwk789xwk 2007-08-10
  • 打赏
  • 举报
回复
帮顶
加载更多回复(105)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧