[問題] 寫入資料庫的速度差異..

看板C_Sharp (C#)作者 (經濟不景氣,好景不常在)時間13年前 (2012/09/12 21:35), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
我要將開啟檔案時,使用者選取的檔案存入資料庫.. 那麼我該怎麼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

09/13 09:42, , 1F
bulkcopy
09/13 09:42, 1F

09/13 13:15, , 2F
.net有個SqlBulkCopy
09/13 13:15, 2F

09/13 13:21, , 3F
少量用INSERT 中量用DATASET 大量用BULKCOPY
09/13 13:21, 3F

09/13 23:21, , 4F
如果一次筆數不會超過25個,那是否用Insert就好?
09/13 23:21, 4F

09/14 09:14, , 5F
個人認知 少量=1~3筆 中量=4筆~數百萬筆 大量=數百萬筆上
09/14 09:14, 5F

09/14 09:15, , 6F
不過這種效率的問題很不一定 與表格規模大小 增長情況
09/14 09:15, 6F

09/14 09:16, , 7F
欄位數量 主鍵定義均有關聯
09/14 09:16, 7F

09/14 09:16, , 8F
不過樓主要處理25筆的問題 我想用哪一種並無多大差別
09/14 09:16, 8F
文章代碼(AID): #1GK8-X_t (C_Sharp)
文章代碼(AID): #1GK8-X_t (C_Sharp)