1. 通過(guò)把處理封裝在容易適應(yīng)的單元中,簡(jiǎn)化復(fù)雜的操作。
2. 由于不要求反復(fù)建立一系列處理步驟,保證了數(shù)據(jù)的一致性。如果所有開(kāi)發(fā)人員和應(yīng)用程序都使用同一存儲(chǔ)過(guò)程,則所使用的代碼都是相同的。
這一點(diǎn)的延伸就是防止錯(cuò)誤。需要執(zhí)行的步驟越多,出錯(cuò)的可能性就越大。防止錯(cuò)誤保證了數(shù)據(jù)的一致性。
3. 簡(jiǎn)化對(duì)變動(dòng)的管理。如果表名、列名或業(yè)務(wù)邏輯(或別的內(nèi)容)有變化,只需要更改存儲(chǔ)過(guò)程的代碼。使用它的人員甚至不需要知道這些變化。
這一點(diǎn)的延伸就是安全性。通過(guò)存儲(chǔ)過(guò)程限制對(duì)基礎(chǔ)數(shù)據(jù)的訪問(wèn)減少了數(shù)據(jù)訛誤(無(wú)意識(shí)的或別的原因所導(dǎo)致的數(shù)據(jù)訛誤)的機(jī)會(huì)。
4. 因?yàn)榇鎯?chǔ)過(guò)程通常以編譯過(guò)的形式存儲(chǔ),所以DBMS為處理命令所作的工作較少。結(jié)果是提高了性能。
5. 存在一些只能用在單個(gè)請(qǐng)求中的SQL元素和特性,存儲(chǔ)過(guò)程可以使用它們來(lái)編寫(xiě)功能更強(qiáng)更靈活的代碼。
總之使用存儲(chǔ)過(guò)程有三個(gè)主要的好處,即簡(jiǎn)單、安全、高性能。
2. 由于不要求反復(fù)建立一系列處理步驟,保證了數(shù)據(jù)的一致性。如果所有開(kāi)發(fā)人員和應(yīng)用程序都使用同一存儲(chǔ)過(guò)程,則所使用的代碼都是相同的。
這一點(diǎn)的延伸就是防止錯(cuò)誤。需要執(zhí)行的步驟越多,出錯(cuò)的可能性就越大。防止錯(cuò)誤保證了數(shù)據(jù)的一致性。
3. 簡(jiǎn)化對(duì)變動(dòng)的管理。如果表名、列名或業(yè)務(wù)邏輯(或別的內(nèi)容)有變化,只需要更改存儲(chǔ)過(guò)程的代碼。使用它的人員甚至不需要知道這些變化。
這一點(diǎn)的延伸就是安全性。通過(guò)存儲(chǔ)過(guò)程限制對(duì)基礎(chǔ)數(shù)據(jù)的訪問(wèn)減少了數(shù)據(jù)訛誤(無(wú)意識(shí)的或別的原因所導(dǎo)致的數(shù)據(jù)訛誤)的機(jī)會(huì)。
4. 因?yàn)榇鎯?chǔ)過(guò)程通常以編譯過(guò)的形式存儲(chǔ),所以DBMS為處理命令所作的工作較少。結(jié)果是提高了性能。
5. 存在一些只能用在單個(gè)請(qǐng)求中的SQL元素和特性,存儲(chǔ)過(guò)程可以使用它們來(lái)編寫(xiě)功能更強(qiáng)更靈活的代碼。
總之使用存儲(chǔ)過(guò)程有三個(gè)主要的好處,即簡(jiǎn)單、安全、高性能。