如果專案要求程式對高達幾萬條的資料在集中的時間內執行固定序列的操作,且不能完全使用儲存過程時而需要使用程式來執行時。會需要這些優化。
我們知道,sql伺服器對一條語句的執行,需要分析、編譯、執行這些步驟,通過引數化我們可以對一種命令只分析和編譯一次,而執行多次,從而提高效率。在執行時,如果每次提交語句,可以完成多條sql語句,則可以減少通訊時間,也可以提高效率。
通過 system.data.idbcommand.prepare() 方法,我們可以在第一次執行語句時,分析和編譯sql語句,然後儲存這個command物件,下次使用時,直接設定引數執行。這個方法對oracle和mssql server都有效。
如果執行一批語句,在t-sql和plsql中有一點不一樣。
在t-sql中,多條sql語句之間,使用分號";"分隔就行。
delete from tablea where id = @id;update tableb set name=@name where id=@id
而在plsql中,則需要用 begin ... end; 包起來,中間語句用分號";"分隔。
//準備一下以提高效能。
cmd.prepare();
}//設定引數
cmd.parameters["instanceid"].value = flowinstanceid;
//設定事務
cmd.transaction = this.tranengine;
cmd.executenonquery();
}
批處理batch,執行多個SQL語句
批處理batch,執行多個sql語句。sql view plain copy trycatch exception e catch exception e1 finally 注意其中的兩個sql語句,其一是stmt.addbatch 其二是stmt.excutebatch 在批量更新sql操作的時候...
批處理SQL語句
作用 想傳送多條sql,又要降低與資料庫系統的互動,這時使用批處理 一 statement物件 適合對不同結構的sql語句進行批處理操作 步驟 1 將給定的 sql 命令新增到此 statement 物件的當前命令列表中 void addbatch string sql 2 將一批命令提交給資料庫來...
批處理SQL語句
作用 想傳送多條sql,又要降低與資料庫系統的互動,這時使用批處理 一 statement物件 適合對不同結構的sql語句進行批處理操作 步驟 1 將給定的 sql 命令新增到此 statement 物件的當前命令列表中 void addbatch string sql 2 將一批命令提交給資料庫來...