要搞明白存儲過程是個什麼東西,才能知道他是不是個好東西!
有如鵬網網友問:
楊老師,請教您個問題。大量的使用存儲過程對系統會有什麼影響嗎?比如連最簡單的增刪改都是用存儲過程。
我的回復:
一定要搞明白為什麼要有“存儲過程”這個東西。
因為程式和資料庫伺服器之間的sql執行的過程其實就是網路通訊的過程,而網路通訊是比較慢的。如果一個業務操作要執行很多條sql語句或者執行一個select查詢,遍歷查詢結果的時候又要執行其他sql語句進行其他操作的時候,在程式和資料庫伺服器之間就會頻繁的進行網路交互,這樣資料庫伺服器的壓力會比較大,而且速度慢。
明白了“為什麼要有存儲過程”之後,就很容易回答你的問題了“最簡單的增刪改都是用存儲過程”這個就沒必要了。
另外,現在業界的共識是“盡可能的不用存儲過程”,因為存儲過程在不同資料庫中的語法是不一樣的,跨資料庫移植很麻煩,還有存儲過程很難和專案之間完美的進行源碼版本管理,因此除了在一些極特殊的情況下,否則不要使用存儲過程。