2011年5月31日 星期二

TableAdapter Fill 大量資料出問題

當 TableAdapter.Fill() 一個14萬筆的資料時,如果有新的Request 進來,容易發生嚴重錯誤...
最糟的一次是 mdb 檔案被鎖住,後台關閉網站也沒轍。只能請 Host 客服解決了...
這讓我嚇一大跳,因為 Fill() 還蠻常用在程式裡面的小查詢上,還好都是一千筆以下的 Table。

可是,萬一同時很多人 Request 進來,那麼出問題的機率將大增。
還是,這是 Access 資料庫的老毛病,聽說超過十萬就容易不穩定...

後來改成 OleDB 的 ExecuteScalar() 才避免此問題,速度也快很多。
這表示,Fill() 所讀取的資料量太大而出問題? 可能超出主機商所設定的門檻,結果鎖住程式...

看來以後查詢資料庫要盡量避免使用 Fill()

沒有留言:

張貼留言

歡迎留言指教