mysql实际项目中使用多长时间_存储过程在实际项目中用的多吗?
我說說下自己的經(jīng)驗(yàn)吧,很早就接觸存儲(chǔ)過程了,但是最近老板竟然要求所有業(yè)務(wù)都用存儲(chǔ)過程,匪夷所思。
存儲(chǔ)過程有它的優(yōu)點(diǎn):
(1) 執(zhí)行速度比寫在代碼里速度快,這個(gè)不用說了
(2) 能實(shí)現(xiàn)一定程度松耦合,有些更新直接更新數(shù)據(jù)庫即可,不用部署應(yīng)用層
但缺陷也很明顯
(1) 部署超級(jí)麻煩好嘛,都沒有版本控制。不要說寫sql文件放在git里,那個(gè)根本不可行。一個(gè)疏忽就很可能當(dāng)前版本和數(shù)據(jù)庫版本不一樣,因?yàn)槟愕臄?shù)據(jù)源不是去對(duì)比數(shù)據(jù)庫的
(2) 增加中間件麻煩,中間件很多不支持
(3) 如果你代碼和存儲(chǔ)過程都需要修改怎么辦,怎么平滑啟動(dòng)?當(dāng)你修改存儲(chǔ)過程,然后重載代碼中間的這幾秒中,很可能有人訪問,服務(wù)就報(bào)500錯(cuò)誤了
(4) 以后要拆庫拆表了,怎么辦。當(dāng)然這種概率很小,畢竟項(xiàng)目黃的概率還是很大的
(5) 調(diào)試麻煩,特別是生成,難道你把所有數(shù)據(jù)庫日志都記錄下來嗎?
所以如果你的業(yè)務(wù)經(jīng)常變動(dòng),或者業(yè)務(wù)邏輯很復(fù)雜,要更新的內(nèi)容很多,請(qǐng)不要用存儲(chǔ)過程,告訴你全都是坑。那一點(diǎn)點(diǎn)性能優(yōu)勢(shì)不值得,你咋知道你的項(xiàng)目能有千萬并發(fā)?再說了,那時(shí)候還會(huì)輪到你用存儲(chǔ)過程嗎?
總結(jié)
以上是生活随笔為你收集整理的mysql实际项目中使用多长时间_存储过程在实际项目中用的多吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql表结构设计_表结构设计
- 下一篇: python123文件和数据格式化测试7