存儲(chǔ)過(guò)程跟SQL語(yǔ)句比較禀梳,各有什么優(yōu)點(diǎn)和缺點(diǎn)

存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1.由于應(yīng)用程序隨著時(shí)間推移會(huì)不斷更改馋没,增刪功能,T-SQL過(guò)程代碼會(huì)變得更復(fù)雜钉迷,StoredProcedure為封裝此代碼提供了一個(gè)替換位置至非。

2.執(zhí)行計(jì)劃(存儲(chǔ)過(guò)程在首次運(yùn)行時(shí)將被編譯,這將產(chǎn)生一個(gè)執(zhí)行計(jì)劃-- 實(shí)際上是 Microsoft SQL Server為在存儲(chǔ)過(guò)程中獲取由 T-SQL 指定的結(jié)果而必須采取的步驟的記錄糠聪。)緩存改善性能荒椭。

……..但sql server新版本,執(zhí)行計(jì)劃已針對(duì)所有 T-SQL 批處理進(jìn)行了緩存舰蟆,而不管它們是否在存儲(chǔ)過(guò)程中趣惠,所以沒(méi)比較優(yōu)勢(shì)了。

3.存儲(chǔ)過(guò)程可以用于降低網(wǎng)絡(luò)流量身害,存儲(chǔ)過(guò)程代碼直接存儲(chǔ)于數(shù)據(jù)庫(kù)中味悄,所以不會(huì)產(chǎn)生大量T-sql語(yǔ)句的代碼流量。

4.使用存儲(chǔ)過(guò)程使您能夠增強(qiáng)對(duì)執(zhí)行計(jì)劃的重復(fù)使用塌鸯,由此可以通過(guò)使用遠(yuǎn)程過(guò)程調(diào)用 (RPC) 處理服務(wù)器上的存儲(chǔ)過(guò)程而提高性能侍瑟。RPC 封裝參數(shù)和調(diào)用服務(wù)器端過(guò)程的方式使引擎能夠輕松地找到匹配的執(zhí)行計(jì)劃,并只需插入更新的參數(shù)值丙猬。

5.可維護(hù)性高涨颜,更新存儲(chǔ)過(guò)程通常比更改、測(cè)試以及重新部署程序集需要較少的時(shí)間和精力茧球。

6.代碼精簡(jiǎn)一致庭瑰,一個(gè)存儲(chǔ)過(guò)程可以用于應(yīng)用程序代碼的不同位置。

7.更好的版本控制抢埋,通過(guò)使用 Microsoft Visual SourceSafe 或某個(gè)其他源代碼控制工具弹灭,您可以輕松地恢復(fù)到或引用舊版本的存儲(chǔ)過(guò)程督暂。

8.增強(qiáng)安全性:

a、通過(guò)向用戶授予對(duì)存儲(chǔ)過(guò)程(而不是基于表)的訪問(wèn)權(quán)限穷吮,它們可以提供對(duì)特定數(shù)據(jù)的訪問(wèn)逻翁;

b、提高代碼安全酒来,防止 SQL注入(但未徹底解決卢未,例如,將數(shù)據(jù)操作語(yǔ)言--DML堰汉,附加到輸入?yún)?shù))辽社;

c、SqlParameter 類指定存儲(chǔ)過(guò)程參數(shù)的數(shù)據(jù)類型翘鸭,作為深層次防御性策略的一部分滴铅,可以驗(yàn)證用戶提供的值類型(但也不是萬(wàn)無(wú)一失,還是應(yīng)該傳遞至數(shù)據(jù)庫(kù)前得到附加驗(yàn)證)就乓。

缺點(diǎn):

1.如果更改范圍大到需要對(duì)輸入存儲(chǔ)過(guò)程的參數(shù)進(jìn)行更改汉匙,或者要更改由其返回的數(shù)據(jù),則您仍需要更新程序集中的代碼以添加參數(shù)生蚁、更新 GetValue() 調(diào)用噩翠,等等,這時(shí)候估計(jì)比較繁瑣了邦投。

2.可移植性差

由于存儲(chǔ)過(guò)程將應(yīng)用程序綁定到 SQL Server伤锚,因此使用存儲(chǔ)過(guò)程封裝業(yè)務(wù)邏輯將限制應(yīng)用程序的可移植性。如果應(yīng)用程序的可移植性在您的環(huán)境中非常重要志衣,則將業(yè)務(wù)邏輯封裝在不特定于 RDBMS 的中間層中可能是一個(gè)更佳的選擇屯援。

Sql語(yǔ)句靈活,可移植性強(qiáng)念脯,查詢速度比存儲(chǔ)過(guò)程慢些

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狞洋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绿店,更是在濱河造成了極大的恐慌吉懊,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惯吕,死亡現(xiàn)場(chǎng)離奇詭異惕它,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)废登,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)郁惜,“玉大人堡距,你說(shuō)我怎么就攤上這事甲锡。” “怎么了羽戒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵缤沦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我易稠,道長(zhǎng)缸废,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任驶社,我火速辦了婚禮企量,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亡电。我一直安慰自己届巩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布份乒。 她就那樣靜靜地躺著恕汇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪或辖。 梳的紋絲不亂的頭發(fā)上瘾英,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音颂暇,去河邊找鬼缺谴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蟀架,可吹牛的內(nèi)容都是我干的瓣赂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼片拍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼煌集!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捌省,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苫纤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后纲缓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體卷拘,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年祝高,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了栗弟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡工闺,死狀恐怖乍赫,靈堂內(nèi)的尸體忽然破棺而出瓣蛀,到底是詐尸還是另有隱情,我是刑警寧澤雷厂,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布惋增,位于F島的核電站,受9級(jí)特大地震影響改鲫,放射性物質(zhì)發(fā)生泄漏诈皿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一像棘、第九天 我趴在偏房一處隱蔽的房頂上張望稽亏。 院中可真熱鬧,春花似錦讲弄、人聲如沸措左。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)怎披。三九已至,卻和暖如春瓶摆,著一層夾襖步出監(jiān)牢的瞬間凉逛,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工群井, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留状飞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓书斜,卻偏偏與公主長(zhǎng)得像诬辈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荐吉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理焙糟,服務(wù)發(fā)現(xiàn),斷路器样屠,智...
    卡卡羅2017閱讀 134,671評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,183評(píng)論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法穿撮,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法痪欲,繼承相關(guān)的語(yǔ)法悦穿,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,644評(píng)論 18 399
  • 子曰:道之以政,齊之以刑知举,民免而無(wú)恥傍衡。 道:同“導(dǎo)”深员,參看前面道千乘之國(guó)時(shí)解釋负蠕。之:指后面的“民”蛙埂。政:政令,行政...
    雕琢未來(lái)閱讀 553評(píng)論 1 0
  • 莫愁女 我看你來(lái)了 多想看看你鏡前 一次動(dòng)人的梳妝 一次就夠了 你能否再來(lái)一曲陽(yáng)春白雪 我也想再聽(tīng)聽(tīng)你的采薇歌 可...
    冷冬年閱讀 175評(píng)論 0 2