不建議使用儲存過程的原因
其一: 各種資料庫的儲存過程語法相差很大,給將來的資料庫移植帶來很大的困難
其二: 不利於版本控制,程式碼無法Diff和回滾,多人編輯無法同步。
雖然資料庫建模工具可以把指令碼儲存為檔案,然後進行Diff,但終究功能有限。
其三: 編碼不便,其實也就是說資料庫指令碼語言功能有限,
無法定義陣列,集合,為了迴圈需要使用效率低下的遊標
其四: 除錯功能不強。
雖然在資料庫客戶端工具裡,也可以除錯,卻也和現在功能強大IDE整合工具的除錯
卻不可同日而語。而且現在一般除錯是由應用程式發起的,從應用程式卻又無法
跟蹤除錯回儲存過程中。所以必須兩處除錯,終究不便。
其五: 儲存過程會呼叫函式,檢視或者別的儲存過程,但是資料庫的編輯工具,
不像時下的開發工具,能夠準確定位物件或物件方法,所以帶來維護,修改的困難。
其五: 現在大多應用級系統會分層處理,資料層,業務層,介面層。
我們把大量使用儲存過程的C/S或者B/S系統稱為兩層半,也就是說儲存過程就是我們說的半層,也就是把大量業務邏輯放在儲存過程裡。業務邏輯往往是系統的核心所在,往往修改會很頻繁,儲存過程的使用會帶來修改困難,修改流程困難,除錯麻煩,所以付出的代價是很大的。
不建議使用儲存過程的原因
其一: 各種資料庫的儲存過程語法相差很大,給將來的資料庫移植帶來很大的困難
其二: 不利於版本控制,程式碼無法Diff和回滾,多人編輯無法同步。
雖然資料庫建模工具可以把指令碼儲存為檔案,然後進行Diff,但終究功能有限。
其三: 編碼不便,其實也就是說資料庫指令碼語言功能有限,
無法定義陣列,集合,為了迴圈需要使用效率低下的遊標
其四: 除錯功能不強。
雖然在資料庫客戶端工具裡,也可以除錯,卻也和現在功能強大IDE整合工具的除錯
卻不可同日而語。而且現在一般除錯是由應用程式發起的,從應用程式卻又無法
跟蹤除錯回儲存過程中。所以必須兩處除錯,終究不便。
其五: 儲存過程會呼叫函式,檢視或者別的儲存過程,但是資料庫的編輯工具,
不像時下的開發工具,能夠準確定位物件或物件方法,所以帶來維護,修改的困難。
其五: 現在大多應用級系統會分層處理,資料層,業務層,介面層。
我們把大量使用儲存過程的C/S或者B/S系統稱為兩層半,也就是說儲存過程就是我們說的半層,也就是把大量業務邏輯放在儲存過程裡。業務邏輯往往是系統的核心所在,往往修改會很頻繁,儲存過程的使用會帶來修改困難,修改流程困難,除錯麻煩,所以付出的代價是很大的。