1 回答

TA貢獻(xiàn)885條經(jīng)驗(yàn) 獲得超1144個(gè)贊
就拿我們公司來說,需要提升性能的地方,都用存儲(chǔ)過程,因?yàn)榇鎯?chǔ)過程是編譯過的,所以使用起來比純SQL查詢速度稍快。
應(yīng)用場(chǎng)景,可能有以下幾種:
1、隱藏具體查詢方式,開發(fā)人員只需要知道 存儲(chǔ)過程名字,參數(shù)和返回值即可。
2、提升性能,會(huì)編譯成中間語言,執(zhí)行效率高。
3、如果開發(fā)團(tuán)隊(duì)中,熟悉存儲(chǔ)過程的人多,那么就好辦了。開發(fā)效率能提高。
不好處也有:
1、不可移植性,每種數(shù)據(jù)庫的存儲(chǔ)過程不盡相同。
2、學(xué)習(xí)成本高,如果一個(gè)團(tuán)隊(duì)中懂存儲(chǔ)過程的人多,那么還好一點(diǎn)。(PS:DBA經(jīng)常寫存儲(chǔ)過程)
3、存儲(chǔ)過程可能會(huì)封裝很多業(yè)務(wù)細(xì)節(jié),導(dǎo)致不太好讓開發(fā)人員理解業(yè)務(wù)。
4、如果存儲(chǔ)過程中有復(fù)雜運(yùn)算的話,會(huì)增加一些數(shù)據(jù)庫服務(wù)端的處理成本。
建議:合理使用。
添加回答
舉報(bào)