SqlDataAdapter類別,是我們在學習ASP.NET資料庫裡兩大支柱的其中之一,會使用到它,也是因為要對Data進行操作,才會考慮使用到它,不然如果是單純取得資料,那一定是考慮SqlDataReader。
但我們在使用SqlDataAdapter類別「更新」資料時,有一個屬性非常重要,但也是大多沒有介紹,「UpdateBatchSize 屬性」,也是就是,我們原先如果更新了100筆資料,那就會一筆Update Query,一筆Update Query來對資料庫做更新資料的動作,這樣的方式不但沒有效率,又浪費資源,但這個UpdateBatchSize 屬性,能讓我們改變SqlDataAdapter類別的行為,讓我們使用「批次」的方來更新資料,但如我們有一個dap的SqlDataAdapter實體,所以我們可以設定「dap.UpdateBatchSize=10」,以10筆資料為一個單位來更新,經過這樣設定後,原本需要100次Query,只批次簡化為10次Query就結束了。
而相較於單一Query的更新方式,UpdateBatchSize當然可以大幅改善效能。而UpdateBatchSize的預設值正是1,而如果我們設定為0,那SqlDataAdapter物件會一次處理所有的Update命令。
也請小心,不要將UpdateBatchSize設的太大,每種資料庫批次處理的能力不同,上線前可多多測試,找出一個合理值,如果超出資料庫處理能力,SqlDataAdapter會拋出例外。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。