总结一些关于操作数据库是sql语句还是存储过程问题
生活随笔
收集整理的這篇文章主要介紹了
总结一些关于操作数据库是sql语句还是存储过程问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結一些關于操作數據庫是sql語句還是存儲過程問題
?
程序中,你跟數據的交互,需要向數據庫拿數據、更改數據庫的數據等,這些操作,本身不是程序完成的,而是程序發命令給數據庫去做的,不管是通過sql語句方式,還是存儲過程方式,都是讓數據庫去做。
在程序中,你如果將數據庫操作那塊封裝成存儲過程調用,以后即使換了數據庫,如果存儲過程不變,你的程序就不需要修改,實現的相對的隔離。
?
用不用存儲過程還是要看具體場合。把常用的SQL封裝成存儲過程中提高重用性是好,但問題是不同項目需要重用的情況本來就少,而且很多時候多個項目訪問同一數據庫并不合適。
效率是另一方面,有多少復雜而且使用頻率很高的sql語句?
總的來說存儲過程適合那些對性能要求高,以數據為中心,業務復雜但固定,標準化做的比較好的場合,比如銀行之類的。
對于新開發的項目,尤其是需求變化可能較大的項目,還是盡量少用存儲過程。即使對性能要求高,也可以在系統穩定之后統計分析出關鍵、耗時的數據庫操作,然后封裝在存儲過程中。
?
使用存儲過程優點
1. 直接在程序中構造SQL的話后期維護, 比如表字段的增減, 有可能會影響到你SQL語句的可執行性, 那個時候你就必須要修改程序源碼, 可能的結果是牽一發而動全身, 如果用存儲過程, 那么只要更新存儲過程就可以了, 便于維護!2. 如果不法分子破解你的程序, 存儲過程是放在你的數據庫服務器上的!那么光得到你的存儲過程名稱, 沒有實際的實現代碼~~所以使用存儲過程的安全性相對較高!
3. 為了防止sql注入,使用存儲過程。
4. 存儲過程的執行效率較高, 速度快!復雜的查詢, 對速度的要求還是有講究的!
轉載于:https://www.cnblogs.com/lisuyun/p/6053658.html
總結
以上是生活随笔為你收集整理的总结一些关于操作数据库是sql语句还是存储过程问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础-绘图技术
- 下一篇: 14.8.4 Moving or Cop