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

來源:互聯網
上載者:User

 

  一時興起,測了一下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();
}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.