存儲過程的優(yōu)點與缺點 存儲過程跟SQL語句比較,各有什么優(yōu)點和缺點?
存儲過程跟SQL語句比較,各有什么優(yōu)點和缺點?SQL存儲過程位于SQL數(shù)據(jù)庫1中,因此無需在程序中拼接SQL語句。2. SQL Server預編譯存儲過程,因此速度很快。3. 它不需要在網(wǎng)絡上傳輸冗長
存儲過程跟SQL語句比較,各有什么優(yōu)點和缺點?
SQL存儲過程位于SQL數(shù)據(jù)庫1中,因此無需在程序中拼接SQL語句。
2. SQL Server預編譯存儲過程,因此速度很快。
3. 它不需要在網(wǎng)絡上傳輸冗長的SQL語句,而是直接調(diào)用存儲過程的名稱,這樣可以加快速度。當然,在一些外包軟件開發(fā)中不允許使用存儲過程。
由于對方無法向您公開數(shù)據(jù)庫,此時您只能使用SQL語句。
然而,SQL存儲過程的使用在國內(nèi)一些小企業(yè)中仍然非常流行。
由于程序代碼不包含SQL語句,因此數(shù)據(jù)庫將相對安全。
什么是存儲過程?有什么優(yōu)點?
存儲過程(storage procedure)是一組SQL語句在大型數(shù)據(jù)庫系統(tǒng)中完成特定的功能。它存儲在數(shù)據(jù)庫中,并在編譯后永久有效。用戶通過指定存儲過程的名稱并給出參數(shù)(如果存儲過程有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象。
使用存儲過程有哪些好處?
優(yōu)點:缺點:小結(jié):一般來說,應該盡可能多地使用或不使用存儲過程,特別是在具有高并發(fā)性和復雜體系結(jié)構(gòu)的大型系統(tǒng)中。為了減少存儲過程的使用,業(yè)務邏輯的工作應該由應用服務器來處理,而不是交給數(shù)據(jù)庫。很多時候,存儲過程可以快速地解決問題,但是它的可維護性、可擴展性和可移植性都不好。如果你的系統(tǒng)很小,架構(gòu)比較簡單,開發(fā)人員也熟悉存儲過程,可以考慮使用存儲過程來減少工作量;但是隨著系統(tǒng)的增加,架構(gòu)變得越來越復雜,開發(fā)人員越來越多,存儲過程的存在可能會導致更多的問題問題。當然,您可以考慮將存儲過程用于定時ETL或報表統(tǒng)計等任務。
存儲過程的優(yōu)缺點?
存儲過程是預先編譯并存儲在數(shù)據(jù)庫中的SQL語句的集合。調(diào)用存儲過程可以簡化應用程序開發(fā)人員的大量工作,減少數(shù)據(jù)庫與應用服務器之間的數(shù)據(jù)傳輸,提高數(shù)據(jù)處理效率。優(yōu)點:1。重用:存儲過程可以重用,這可以減少數(shù)據(jù)庫開發(fā)人員的工作量。
2. 減少網(wǎng)絡流量:存儲過程位于服務器上。當它被調(diào)用時,只需要傳遞存儲過程的名稱和參數(shù),這樣就減少了在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)量。
3. 安全性:參數(shù)化存儲過程可以防止SQL注入攻擊,并且可以對存儲過程應用grant、deny和revoke權(quán)限。存儲過程的缺點如下:1。更改很麻煩:如果更改范圍太大,需要更改輸入存儲過程參數(shù),或者需要更改存儲過程返回的數(shù)據(jù),則仍需要更新程序集中的代碼以添加參數(shù)、更新getvalue()調(diào)用,等等。在這個時候,估計是很麻煩的。2可移植性差:因為存儲過程將應用程序綁定到SQL server,所以用存儲過程封裝業(yè)務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環(huán)境中非常重要,那么您需要將業(yè)務邏輯封裝在獨立于RDBMS的中間層中。
存儲過程有什么優(yōu)缺點?為什么要用存儲過程?
存儲過程是一組預編譯的SQL語句。其優(yōu)點如下:1。模塊化編程是允許的,也就是說,一個過程只需要創(chuàng)建一次,以后可以在程序中隨時調(diào)用。
2. 允許更快的執(zhí)行。如果一個操作需要執(zhí)行大量SQL語句或重復執(zhí)行,則存儲過程的執(zhí)行速度將比SQL語句快。三。減少網(wǎng)絡流量。例如,一個需要幾百行SQL代碼的操作是由一個執(zhí)行語句完成的,而不需要在網(wǎng)絡中發(fā)送幾百行代碼。4更好的安全機制,對于沒有權(quán)限執(zhí)行存儲過程的用戶,還可以授權(quán)他們執(zhí)行存儲過程。