91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 如何通過C#使用參數化和塊語句來提高批處理SQL語句的執行效率

如何通過C#使用參數化和塊語句來提高批處理SQL語句的執行效率

發布時間:2021-10-13 14:34:24 來源:億速云 閱讀:112 作者:柒染 欄目:數據庫

本篇文章給大家分享的是有關如何通過C#使用參數化和塊語句來提高批處理SQL語句的執行效率,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

 當你的項目要求你的程序對高達幾萬條的數據在集中的時間內執行固定序列的操作,且不能完全使用存儲過程時而需要使用程序來執行時。會需要這些優化。    我們知道,SQL服務器對一條語句的執行,需要分析、編譯、執行這些步驟,通過參數化我們可以對一種命令只分析和編譯一次,而執行多次,從而提高效率。在執行時,如果每次提交語句,可以完成多條SQL語句,則可以減少通訊時間,也可以提高效率。
    通過 System.Data.IDbCommand.Prepare() 方法,可以在第一次執行語句時,分析和編譯SQL語句,然后保存這個Command對象,下次使用時,直接設置參數執行。這個方法對Oracle和MsSql Server都有效。
    如果執行一批語句,在T-SQL和PLSQL中有一點不一樣。

在T-SQL中,多條SQL語句之間,使用分號";"分隔就行。

而在PLSQL中,則需要用 begin ... end; 包起來,中間語句用分號";"分隔。??Q3kmìLJ?www.netcsharp.cnú????7?ùm

相信這樣做之后,你的效率會有幾倍或者十幾倍的提升。當然,你還可以對只是查而修改的表,做一下緩存處理,來減小訪問數據庫的次數。

下面我示例一下訪問Oracle執行PLSQL的一個函數的例子

sb.Append(@"delete from bak_WF_Log_EngineLog where FlowInstanceID= :instanceId;");
sb.Append(@"delete from bak_WF_Log_ErrLog where FlowInstanceID= :instanceId;");
sb.Append(@"delete from WF_Running_MsgForEngineBak where FlowInstanceID= :instanceId;");
sb.Append(@"delete from bak_WF_Running_MsgForUser where FlowInstanceID= :instanceId;");
sb.Append(@"delete from bak_WF_Running_FlowActivity where FlowInstanceID= :instanceId;");
sb.Append(@"delete from bak_WF_Running_FlowData where FlowInstanceID= :instanceId;");
sb.Append(@"delete from bak_WF_Running_FlowInstance where FlowInstanceID= :instanceId;");

sb.Append("end;");

//準備 DbCommand
this.cmdDeleteFlowInstanceData = cmd = new OracleCommand();
cmd.Connection = this.connEngine;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sb.ToString();
cmd.Parameters.Clear();
cmd.Parameters.Add("instanceId", OracleType.VarChar,250);

//準備一下以提高性能。
cmd.Prepare();
}

//設置參數
cmd.Parameters["instanceId"].Value =  flowinstanceid;

//設置事務
cmd.Transaction = this.tranEngine;

cmd.ExecuteNonQuery();

}
 
  

以上就是如何通過C#使用參數化和塊語句來提高批處理SQL語句的執行效率,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

乌鲁木齐县| 通化市| 永善县| 崇信县| 客服| 孟村| 东方市| 北流市| 金华市| 靖江市| 化隆| 洛扎县| 屯昌县| 开鲁县| 正蓝旗| 达州市| 宁海县| 武鸣县| 彰化市| 滨海县| 桃源县| 玉门市| 双辽市| 万安县| 项城市| 荔浦县| 淮滨县| 闽侯县| 邵武市| 上虞市| 同江市| 根河市| 曲沃县| 安西县| 神农架林区| 海南省| 黑山县| 措勤县| 太谷县| 鲁甸县| 河南省|