[心得]ADO.Net 2.0的IDataReader要重用
在 ADO.Net 1.0時代,DataReader是讀取db最有效率的物件
但使用上不允許multi-active recordset,意思沒有close前連線是被佔住的。
而且又要loop去讀值,沒啥變化,因此很少用它。
在ADO.Net 2.0時,它為了解決很有前版效能上的問題
又大大地重用IDataReader的類別
例如支援multi-actve recordset,又重要是可以讓DataTable直接吃
因此你可以迅速得到schema及資料
而不用借用肥肥的data adapter來fill()填充。
DataTable dt = new DataTable();
dt.Load(dataReader); // 得到schema及data
DataTable又支援導出其IDataReader,如
dt.CreateDataReader()導出,就會可另一個data table物件快速填充複製。
在以往,要複製datatable,只能先dt.Clone(); 取得schema
再用Add(DataRow[])方式,效能就變差了。
結論,
可能很易揮發的快速IDataReader,因為DataTable能夠cache它
因此我開始又大量使用它。
Author: Tomex Ou
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: tomex 來自: 61.217.196.247 (03/18 00:29)
推
03/18 17:01, , 1F
03/18 17:01, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章