oracle的存儲過程優(yōu)缺點(diǎn)

oracle存儲過程的優(yōu)點(diǎn)有:簡化了復(fù)雜的操作,降低了錯(cuò)誤出現(xiàn)幾率以及執(zhí)行速度快適應(yīng)性好等,它的缺點(diǎn)有可移植性差,占用服務(wù)器端較多資源,增加了服務(wù)器壓力等

Oracle是由甲骨文公司開發(fā)的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。由于它系統(tǒng)可移植性好,使用方便以及功能強(qiáng)大而受到大家的親睞。接下來將在文章中為大家介紹Oracle數(shù)據(jù)庫在存儲過程中有哪些優(yōu)缺點(diǎn),希望對大家有所幫助

oracle的存儲過程優(yōu)缺點(diǎn)

【推薦課程:數(shù)據(jù)庫教程

存儲過程

存儲過程就是指一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中,用戶通過指定存儲過程的名字并給出參數(shù)來執(zhí)行。這樣的方式節(jié)省了用戶的時(shí)間也提高了程序的執(zhí)行效率。在數(shù)據(jù)庫中有一些是系統(tǒng)默認(rèn)的存儲過程,它可以直接提高存儲過程的名稱來進(jìn)行調(diào)用。另外,存儲過程還可以在編程語言中調(diào)用,例如Java,C#等

存儲過程的優(yōu)點(diǎn)

(1)簡化了復(fù)雜的操作

在存儲過程中把多個(gè)SQL語句封裝到一個(gè)獨(dú)立的單元中,用戶只需調(diào)用即可。這樣增加了數(shù)據(jù)的獨(dú)立性,另外當(dāng)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí),可以修改存儲過程來實(shí)現(xiàn),這樣就不需要修改程序代碼了提高了安全性

(2)降低了錯(cuò)誤出現(xiàn)幾率

如果不使用存儲過程來實(shí)現(xiàn)某個(gè)操作可能需要執(zhí)行多條單獨(dú)的SQL語句,由于執(zhí)行過多的步驟很有可能造成錯(cuò)誤的出現(xiàn)。而使用了存儲過程只需要編譯一次就可以直接調(diào)用了

(3)執(zhí)行速度快

在存儲過程創(chuàng)建時(shí)數(shù)據(jù)庫已經(jīng)對其進(jìn)行了一次解析和優(yōu)化。另外存儲過程執(zhí)行后,內(nèi)存中會保留一份因此下次再執(zhí)行時(shí)就可以直接在內(nèi)存中調(diào)用了

(4)適應(yīng)性好。?

由于存儲過程對數(shù)據(jù)庫的訪問是通過存儲過程來進(jìn)行的,因此數(shù)據(jù)庫開發(fā)人員可以在不改動存儲過程接口的情況下對數(shù)據(jù)庫進(jìn)行任何改動,而這些改動不會對應(yīng)用程序造成影響。?

存儲過程的缺點(diǎn)

(1)如果更改范圍大到需要對輸入存儲過程的參數(shù)進(jìn)行更改,或者要更改由其返回的數(shù)據(jù),這時(shí)需要更改程序中的參數(shù)這就增加了困難

(2)可移植性差,由于存儲過程將應(yīng)用程序綁定到 SQL Server,因此使用存儲過程封裝業(yè)務(wù)邏輯將限制應(yīng)用程序的可移植性。

(3)占用服務(wù)器端較多的資源,對服務(wù)器造成很大壓力

(4)可讀性及維護(hù)性不好

總結(jié):

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享