ADO.NET 2.0竟然比1.0慢

2008-08-21 13:09:06.0     推荐:0    收藏:0    评论:0     来源:中国IT实验室

镜子里面的像,为什么左右是反的而上下不是?

  我问过很多朋友这个问题,很少有人能够在3分钟内给出准确答案。这里列举出一些比较奇特的想法:

  1. 因为人的眼睛是左右对称的。(也是某“面试宝典”中的答案)。

  2. 如果把镜子横过来,左右不反了,上下却反了。

  3. 因为我们在北半球。

  从技术层面上说,这里涉及的知识点只有镜面反射,远比Windows内存管理简单。但是要回答清楚,却不是信手拈来那么简单。这个例子只是想说明,除了知识以外,解决问题需要清晰的思路。

  1.1 绝望的性能问题:ADO.NET2.0竟然比1.0要慢

  1.1.1 问题描述

  根据下面一篇文章的介绍,客户决定升级到.NET Framework 2.0来借助ADO.NET 2.0提高性能。

  DataSet and DataTable in ADO.NET 2.0

  http://msdn.microsoft.com/msdnmag/issues/05/11/DataPoints/default.aspx

  但是根据用户的测试,使用ADO.NET 2.0后,性能反而下降。

  拿到用户的代码一看,非常简单:

  OracleConnection conn = new OracleConnection();

  conn.ConnectionString = "...";

  conn.Open();

  OracleCommand cmd = new OracleCommand();

  cmd.Connection = conn;

  OracleDataAdapter dap = new OracleDataAdapter("select * from mytesttable",conn);

  DataTable dt = new DataTable();

  DateTime start = System.DateTime.Now;

  dap.Fill(dt);

  TimeSpan span = DateTime.Now - start;

  conn.Close();

  Console.WriteLine(span.ToString());

  Console.WriteLine("The Columns.Count is" + dt.Columns.Count.ToString());

  Console.WriteLine("The Rows.Count is"+dt.Rows.Count.ToString());

[第1页]   [第2页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: