作者KSmart (經濟不景氣,好景不常在)
看板C_Sharp
標題[問題] 寫入資料庫的速度差異..
時間Wed Sep 12 21:35:27 2012
我要將開啟檔案時,使用者選取的檔案存入資料庫..
那麼我該怎麼Insert to資料庫比較快速呢??
目前的作法是
foreach (string FileName in openFileDialog1.FileNames)
{
string OracleInsert_Filenames = @"INSERT INTO apps.test
(receipt_number, file_name, created_by, creation_date,
last_updated_by,last_update_login, last_update_date ) VALUES
('" + Number + "','" + FileName + "', 0, SYSDATE, 0, 0, SYSDATE)";
OracleCommand InsertFileNamesComm = new OracleCommand
(OracleInsert_Filenames, OracleDB_Wafer);
InsertFileNamesComm.ExecuteNonQuery();
}
還是說,先把檔案名稱存到陣列中,然後再一次把檔案Insert...
請問哪一種在執行速度上會比較快呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.198.138
→ ken1325:bulkcopy 09/13 09:42
→ bbcust:.net有個SqlBulkCopy 09/13 13:15
推 Eleganse:少量用INSERT 中量用DATASET 大量用BULKCOPY 09/13 13:21
→ KSmart:如果一次筆數不會超過25個,那是否用Insert就好? 09/13 23:21
推 Eleganse:個人認知 少量=1~3筆 中量=4筆~數百萬筆 大量=數百萬筆上 09/14 09:14
→ Eleganse:不過這種效率的問題很不一定 與表格規模大小 增長情況 09/14 09:15
→ Eleganse:欄位數量 主鍵定義均有關聯 09/14 09:16
→ Eleganse:不過樓主要處理25筆的問題 我想用哪一種並無多大差別 09/14 09:16