黄忠成

風雪之閣 - i live,so i writing

用户操作
[即时聊天] [发私信] [加为好友]
黃忠成ID:Code6421
159775次访问,排名478好友0人,关注者26
coding
Code6421的文章
原创 97 篇
翻译 0 篇
转载 0 篇
评论 221 篇
Code6421的公告
關於我:

黃忠成

  • 資深.NET 技術顧問
  • Run! PC 雜誌專欄作者
  • 程序員雜誌文章作者
  • PC Magazine 雜誌專欄作者
  • MSDN 專欄作者
  • MSDN 特約專屬講師
  • Microsoft .NET專屬講師
  • 台灣微軟最有價值專家(MVP 2008)
  • 台灣微軟特約技術顧問


  • 批評,指教,鼓勵, 請 寫信給我
    轉載文章請使用連結模式,
    請勿整篇Copy! 謝謝!


    我所提供的教育訓練:

    Windows Forms
    ASP.NET 2.0
    如有課程需要,請與我聯絡!

  • 我的著作:

  • 最近评论
    chenyong365:我一定会买一本.
    programlin:>>瀏覽器與Office有著同樣的命運,就是最後都會變成一個載體,趨近於OS的地位

    果然是英雄所見略同.
    上次看到一篇文章,大致上的內容是Microsoft正在積極規劃下一代的作業系統,不是Windows,而是一個完全跳脫出Windows概念的新OS.
    我猜想最近這幾年Microsoft推.Net,SOA架構與Windows Live都是……
    programlin:>>瀏覽器與Office有著同樣的命運,就是最後都會變成一個載體,趨近於OS的地位

    果然是英雄所見略同.
    上次看到一篇文章,大致上的內容是Microsoft正在積極規劃下一代的作業系統,不是Windows,而是一個完全跳脫出Windows概念的新OS.
    我猜想最近這幾年Microsoft推.Net,SOA架構與Windows Live都是……
    programlin:>>瀏覽器與Office有著同樣的命運,就是最後都會變成一個載體,趨近於OS的地位

    果然是英雄所見略同.
    上次看到一篇文章,大致上的內容是Microsoft正在積極規劃下一代的作業系統,不是Windows,而是一個完全跳脫出Windows概念的新OS.
    我猜想最近這幾年Microsoft推.Net,SOA架構與Windows Live都是……
    Code6421:to gutes,

    呃..我也不知道怎麼辦....我書的出版權是在金禾,
    不過金禾.....你也知道...Orz
    文章分类
    收藏
      相册
      风雪之阁
      朋友
      LOLOTA
      Moli
      Will 保哥
      匡正
      小朱
      董大偉
      賴榮樞
      存档
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 LINQ To SQL 的效能 (列出部份的測試程式碼)收藏

      新一篇: ASP.NET GridView 範例集 範例程式下載位置. | 旧一篇: ASP.NET GridView 有多強? 範例下載位置

       

        一時興起,測了一下LINQ To SQL的效能,

       以100000筆資料的讀入來測試,為求平衡,特別以5次讀取之總值測試.

      讀取方式 結果
      With Un-Typed DataTable Load (use DataAdapter without Delete/Insert/Update assocation) 5188 ms
      With LINQ To SQL                                                                     4203 ms

      我很訝異LINQ To SQL的效能,居然呈現出比Un-Typed DataTable更快,雖然就理論上而言,

      LINQ To SQL所產生的類別於成本上應比DataRow來得低,但這樣的差距能引起我的懷疑,

      或許我尚有遺漏之處也說不定,待較有空時,審視一下LINQ To SQL的Fill機制,應能找到其

      效能提升的證據.

       

      列出部份測試的程式碼.

      With UnTyped DataTable

      static void TestUnTypedLoad()
       {
                  SqlConnection conn = new SqlConnection(DSPerformanceTest.Properties.Settings.Default.Northwind2ConnectionString);
                  DataTable table = new DataTable();
                  using (conn)
                  {
                      using(SqlCommand cmd = new SqlCommand("SELECT * FROM TEST_TABLE",conn))
                      {
                          using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                          {                       
                              adapter.Fill(table);
                          }
                      }
                  }           
              }

       

      With LINQ to SQL

      static void TestLoadWithLinq()
       {           
                  NorthwindDataContext context = new NorthwindDataContext();
                  var s = (from s1 in context.TEST_TABLEs select s1).ToList();
      }

       

       

      发表于 @ 2008年01月11日 16:14:00|评论(loading...)|编辑

      新一篇: ASP.NET GridView 範例集 範例程式下載位置. | 旧一篇: ASP.NET GridView 有多強? 範例下載位置

      评论

      #patrickboy 发表于2008-01-11 23:25:37  IP: 58.247.149.*
      LINQ to SQL 测试是指把数据读入到对象数组中?
      2008-01-12 23:56:44作者回复
      是的. 由資料庫至Data Object.
      #suxiaojack 发表于2008-01-18 08:34:57  IP: 220.192.93.*
      是不是DataAdapter的Fill函数设计得太慢了?用原生的操作应该更快的。DataTable结构和ToList();得到的数据也不一样吧?
      2008-01-18 09:20:29作者回复
      理論上也應該是如此,畢竟DataTable擁有一些多餘的設計,不過,LINQ To SQL以Reflection來填值的方式,有此效率也值得讚賞! 畢竟以往O/R Mapping總給人一個效率較慢的印象.
      发表评论  


      登录
      Csdn Blog version 3.1a
      Copyright © Code6421