a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

c#中兩種不同的存儲(chǔ)過(guò)程調(diào)用與比較

2024-09-07 17:05:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
存儲(chǔ)過(guò)程的調(diào)用在B/S系統(tǒng)中用的很多。傳統(tǒng)的調(diào)用方法不僅速度慢,而且代碼會(huì)隨著存儲(chǔ)過(guò)程的增多不斷膨脹,難以維護(hù)。新的方法在一定程度上解決了這些問(wèn)題。
 
在使用.NET的過(guò)程中,數(shù)據(jù)庫(kù)訪問(wèn)是一個(gè)很重要的部分,特別是在B/S系統(tǒng)的構(gòu)建過(guò)程中,數(shù)據(jù)庫(kù)操作幾乎成為了一個(gè)必不可少的操作。調(diào)用存儲(chǔ)過(guò)程實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作使很多程序員使用的方法,而且大多數(shù)的程序員都是能使用存儲(chǔ)過(guò)程就使用存儲(chǔ)過(guò)程,很少直接使用SQL語(yǔ)句,所以存儲(chǔ)過(guò)程是很有用而且很重要的。

存儲(chǔ)過(guò)程簡(jiǎn)介
簡(jiǎn)單的說(shuō),存儲(chǔ)過(guò)程是由一些SQL語(yǔ)句和控制語(yǔ)句組成的被封裝起來(lái)的過(guò)程,它駐留在數(shù)據(jù)庫(kù)中,可以被客戶(hù)應(yīng)用程序調(diào)用,也可以從另一個(gè)過(guò)程或觸發(fā)器調(diào)用。它的參數(shù)可以被傳遞和返回。與應(yīng)用程序中的函數(shù)過(guò)程類(lèi)似,存儲(chǔ)過(guò)程可以通過(guò)名字來(lái)調(diào)用,而且它們同樣有輸入?yún)?shù)和輸出參數(shù)。
根據(jù)返回值類(lèi)型的不同,我們可以將存儲(chǔ)過(guò)程分為三類(lèi):返回記錄集的存儲(chǔ)過(guò)程, 返回?cái)?shù)值的存儲(chǔ)過(guò)程(也可以稱(chēng)為標(biāo)量存儲(chǔ)過(guò)程),以及行為存儲(chǔ)過(guò)程。顧名思義,返回記錄集的存儲(chǔ)過(guò)程的執(zhí)行結(jié)果是一個(gè)記錄集,典型的例子是從數(shù)據(jù)庫(kù)中檢索出符合某一個(gè)或幾個(gè)條件的記錄;返回?cái)?shù)值的存儲(chǔ)過(guò)程執(zhí)行完以后返回一個(gè)值,例如在數(shù)據(jù)庫(kù)中執(zhí)行一個(gè)有返回值的函數(shù)或命令;最后,行為存儲(chǔ)過(guò)程僅僅是用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的某個(gè)功能,而沒(méi)有返回值,例如在數(shù)據(jù)庫(kù)中的更新和刪除操作。

使用存儲(chǔ)過(guò)程的好處
相對(duì)于直接使用SQL語(yǔ)句,在應(yīng)用程序中直接調(diào)用存儲(chǔ)過(guò)程有以下好處:
(1)減少網(wǎng)絡(luò)通信量。調(diào)用一個(gè)行數(shù)不多的存儲(chǔ)過(guò)程與直接調(diào)用SQL語(yǔ)句的網(wǎng)絡(luò)通信量可能不會(huì)有很大的差別,可是如果存儲(chǔ)過(guò)程包含上百行SQL語(yǔ)句,那么其性能絕對(duì)比一條一條的調(diào)用SQL語(yǔ)句要高得多。
(2)執(zhí)行速度更快。有兩個(gè)原因:首先,在存儲(chǔ)過(guò)程創(chuàng)建的時(shí)候,數(shù)據(jù)庫(kù)已經(jīng)對(duì)其進(jìn)行了一次解析和優(yōu)化。其次,存儲(chǔ)過(guò)程一旦執(zhí)行,在內(nèi)存中就會(huì)保留一份這個(gè)存儲(chǔ)過(guò)程,這樣下次再執(zhí)行同樣的存儲(chǔ)過(guò)程時(shí),可以從內(nèi)存中直接調(diào)用。
(3)更強(qiáng)的適應(yīng)性:由于存儲(chǔ)過(guò)程對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)是通過(guò)存儲(chǔ)過(guò)程來(lái)進(jìn)行的,因此數(shù)據(jù)庫(kù)開(kāi)發(fā)人員可以在不改動(dòng)存儲(chǔ)過(guò)程接口的情況下對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何改動(dòng),而這些改動(dòng)不會(huì)對(duì)應(yīng)用程序造成影響。
(4) 布式工作:應(yīng)用程序和數(shù)據(jù)庫(kù)的編碼工作可以分別獨(dú)立進(jìn)行,而不會(huì)相互壓制。
由以上的分析可以看到,在應(yīng)用程序中使用存儲(chǔ)過(guò)程是很有必要的。

兩種不同的存儲(chǔ)過(guò)程調(diào)用方法
為了突出新方法的優(yōu)點(diǎn),首先介紹一下在.NET中調(diào)用存儲(chǔ)過(guò)程的“官方”方法。另外,本文的所有示例程序均工作于SqlServer數(shù)據(jù)庫(kù)上,其它情況類(lèi)似,以后不再一一說(shuō)明。本文所有例子均采用C#語(yǔ)言。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日一日干一干 | www..99热 | 国产欧美日韩综合精品一区二区 | 在线色网站 | 成人av网页| 亚洲黄色免费观看 | 亚洲欧美日韩国产综合 | 国产精品黄色 | 999久久久国产精品 heyzo在线观看 | 亚洲国产免费 | 日本一区二区三区精品视频 | 国产午夜久久 | 国产精品视频久久 | 龙珠z在线观看 | 黄色影院免费观看 | 亚洲国产高清视频 | 在线播放国产一区二区三区 | 亚洲第1页 | 欧美与黑人午夜性猛交 | 欧美精品在线观看免费 | 狠狠一区 | 成人一二三区 | 1区2区免费视频 | 色吊丝在线永久观看最新版本 | 日韩一区二| 中文字幕在线资源 | 精品日韩av | 亚洲一区在线播放 | 色人人| 日韩久久一区二区 | 91精品国产乱码久久久久久久久 | 国产精品ssss在线亚洲 | 成av人在线 | 久久久女人 | 国产成人精品在线 | 男人操女人bb视频 | 中文字幕三区 | 美女扒开内裤让男人桶 | 国产精品久久国产精品99 gif | 成人国产精品久久久 | 韩国三级中文字幕hd久久精品 |