欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何通過C#使用參數(shù)化和塊語(yǔ)句來提高批處理SQL語(yǔ)句的執(zhí)行效率

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

10余年的贊皇網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整贊皇建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“贊皇網(wǎng)站設(shè)計(jì)”,“贊皇網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

 當(dāng)你的項(xiàng)目要求你的程序?qū)Ω哌_(dá)幾萬(wàn)條的數(shù)據(jù)在集中的時(shí)間內(nèi)執(zhí)行固定序列的操作,且不能完全使用存儲(chǔ)過程時(shí)而需要使用程序來執(zhí)行時(shí)。會(huì)需要這些優(yōu)化。    我們知道,SQL服務(wù)器對(duì)一條語(yǔ)句的執(zhí)行,需要分析、編譯、執(zhí)行這些步驟,通過參數(shù)化我們可以對(duì)一種命令只分析和編譯一次,而執(zhí)行多次,從而提高效率。在執(zhí)行時(shí),如果每次提交語(yǔ)句,可以完成多條SQL語(yǔ)句,則可以減少通訊時(shí)間,也可以提高效率。
    通過 System.Data.IDbCommand.Prepare() 方法,可以在第一次執(zhí)行語(yǔ)句時(shí),分析和編譯SQL語(yǔ)句,然后保存這個(gè)Command對(duì)象,下次使用時(shí),直接設(shè)置參數(shù)執(zhí)行。這個(gè)方法對(duì)Oracle和MsSql Server都有效。
    如果執(zhí)行一批語(yǔ)句,在T-SQL和PLSQL中有一點(diǎn)不一樣。

在T-SQL中,多條SQL語(yǔ)句之間,使用分號(hào)";"分隔就行。

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

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

下面我示例一下訪問Oracle執(zhí)行PLSQL的一個(gè)函數(shù)的例子

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;");

//準(zhǔn)備 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);

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

//設(shè)置參數(shù)
cmd.Parameters["instanceId"].Value =  flowinstanceid;

//設(shè)置事務(wù)
cmd.Transaction = this.tranEngine;

cmd.ExecuteNonQuery();

}
 
  

以上就是如何通過C#使用參數(shù)化和塊語(yǔ)句來提高批處理SQL語(yǔ)句的執(zhí)行效率,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:如何通過C#使用參數(shù)化和塊語(yǔ)句來提高批處理SQL語(yǔ)句的執(zhí)行效率
本文URL:http://chinadenli.net/article26/gisccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)域名注冊(cè)、網(wǎng)站改版Google、虛擬主機(jī)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)