如何使 SQL Server高效 — 程式設計(ITPUT 討論匯總)

來源:互聯網
上載者:User

3、     在設計資料庫操作程式上,您認為應該注意哪些事項,以確保能夠有效地使用資料庫?

討論匯總

l  盡量縮小讀寫操作範圍和可重複性, 可採用暫存資料表或表變數等中間過程過渡

l  緩衝。在程式端緩衝常用資料

l  )靜態化。對應較穩定的資料,可以將它靜態化存放,避免資料庫訪問

l  )參數化,將訪問語句參數化或改為預存程序

l  串連池,控制訪問並並發數

l  批量處理。將資料修改緩衝一段時間後再一起寫入資料庫

l  降低事務大小,避免在事務中與使用者互動

l  要應用程式與sql伺服器之間做個平衡,哪些計算放在sql伺服器,哪些計算放在應用程式層

個人補充

l  事務操作盡量放在資料庫中控制,避免在程式中控制事務。程式中控制事務不當的話,容易導致使用分散式交易,這種事務方式處理效率比較高,影響它的因素也比較多。另外,程式中控制事務的話,事務鎖定資源的釋放要在收到程式通知之後,這個稍微加大了資源鎖定的時間,並增加了風險因素(比如程式沒有及時響應,一些BUG導致事務沒有提交或復原,導致掛起的事務)

l  特別注意查詢參數類型。程式中的資料類型沒有資料庫中那麼嚴格,所以不少程式員也容易忽略這個問題;資料庫中的資料類型是嚴格的,不匹配就會有資料類型轉換,如果這個導致的轉換最終是在大量的資料行上,那會產生極大的效能影響

l  盡量減少程式與資料服務器互動次數,避免無必要的資料轉送。比如屏蔽用戶端不使用的輸出資訊、確保沒有用戶端不關心的查詢結果;從DB擷取的資料頁略大小實際分頁(緩衝,避免逐頁從伺服器提取;使用SqlBulkCopy之類的方式在用戶端與資料庫之間做批量的資料提交

 

討論帖

之前的討論話題:

1、 您認為在設計SQL Server對象時,主要會考慮哪些因素來避免出現效能問題? 2、 您認為在T-SQL編寫(包括預存程序、函數和視圖)上,哪些因素會影響SQL Server效率?  後續討論話題:

4、 在您的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.