看板 Database 關於我們 聯絡資訊
※ 引述《RichFU (小富哥~~~)》之銘言: : 請問為什麼現在很多application都盡量避免把mail logic放在 : stored procedure呢? : 以stored procedure方式可以集中化處理邏輯,也可以減少 : application對資料庫的呼叫次數,效能上不是也會比較好? : 還是有什麼缺點存在所以才避免放在procedure?
JoeHorn:維護、除錯的方便,DBMS 異質整合、轉移、備份、更版...07/01 22:36
我也有原PO的疑問 可以在DB內一次處理好的事情 為何要拉到AP上來做呢!? 目前還沒碰到大型的專案 所以真的不太清楚SP的缺點 (除了SP真的很難Debug...) 今天如要UPDATE一筆User資料 可能需要三句SQL指令 (判斷是否已存在 選擇要Insert Or update) 1. SELECT * FROM User WHERE User_Id = @User_Id 2. INSERT INTO User VALUES(User_Id, User_Name) 3. UPDATE User SET User_Name = @User_Name WHERE User_Id = @User_Id 如果全部寫在AP裡 需要二次DB Connection 那一般這種狀況會用SP嗎!? 又假設今天可能要從三個Table各自抓出資料做運算然後再存回另外一個Table 如果單純以AP來做的話 可能就是各自抓出來塞進變數 然後排列組合運算後再存進另一個Table 這樣一來不就會用到更多DB Connection!? 一直以來觀念都是 DB Connection是最耗資源的部份 所以像這種狀況 只要不涉及太複雜的邏輯 (SP無法處理) 通常都會在SP裡處理掉就好 想請教除了Debug以外 有沒有其他缺點的實際狀況能夠描述一下!? -- ◢◣ ◢◣◥████ ◢███◣ ████ ███▉█ ◢█ ◣◢ ██ ███ ◥█ ███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥██◤ █▇▇▇◤ █▉█ █▇▇ █▇ ▉▇▇ █▉█ ██ ▉▉█▏▏◢█ ██▇◣ █▇█ ▇▇█ ██ ███ █▇█▎██ █▉▉█▏▏ rushcat -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.128.113 ※ 編輯: rushcat 來自: 219.87.128.113 (07/02 18:16)