ADO.Net使用方面最佳化

來源:互聯網
上載者:User

 

1.資料庫連接開啟和關閉。 在需要串連時開啟,當訪問完資料庫要立刻關閉串連.

       舉例說明,還是看兩個程式碼片段:

      I.

           DataSet ds = new DataSet();

           SqlConnection MyConnection = new SqlConnection("server=localhost; uid=sa; pwd=; database=NorthWind");

           SqlCommand myCommand = new SqlCommand(strSql,MyConnection);  

           SqlDataAdapter myAdapter=new SqlDataAdapter(queryStr,connectionStr);

        MyConnection.Open();      //開啟串連

        for(int i=0;i<1000;i++)   //for迴圈類比取得資料前的商業邏輯操作

         {

            Thread.Sleep(1000);

       }

       myAdapter.Fill(ds);

        for(int i=0;i<1000;i++)   //for迴圈類比取得資料後的商業邏輯操作

        {

           Thread.Sleep(1000);

        }

        MyConnection.Close();     //關閉串連

        II.

           DataSet ds = new DataSet();

           SqlConnection MyConnection = new SqlConnection("server=localhost; uid=sa; pwd=; database=NorthWind");

           SqlCommand myCommand = new SqlCommand(strSql,MyConnection);  

           SqlDataAdapter myAdapter=new SqlDataAdapter(queryStr,connectionStr);       

         for(int i=0;i<1000;i++)   //for迴圈類比取得資料前的商業邏輯操作

         {

            Thread.Sleep(1000);

       }

       MyConnection.Open();      //開啟串連

           myAdapter.Fill(ds);

          MyConnection.Close();     //關閉串連

        for(int i=0;i<1000;i++)   ////for迴圈類比取得資料後的商業邏輯操作

        {

           Thread.Sleep(1000);

        }

         顯示II代碼比I代碼好的多,I中早早佔著串連不放,如果使用者很多的話,容易出現串連池滿情況。嚴重時出現死機現象.

       2.資料庫查詢

          I. 直接產生SQL語句。 Sql Server每次都要對其進行編譯,在效能方面不會有很大的提高。另外也不夠安全。容易被攻擊.

          II. 使用帶參數的SQL命令。這種方式Sql Server只對其編譯一次,對於不同的參數可以重複使用編譯後的命令。提高了效能.

          III.使用Sql Server預存程序. 編譯一次. 具有獨立性,便於修改和維護. 一次能完成用語句發送多次的功能.減少了網路的

              流量。 並不一定預存程序一定比語句效率要高,如果商業邏輯很複雜的話,有時候用語句比預存程序效率要高.

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.