新聞中心
導(dǎo)讀:在數(shù)據(jù)庫(kù)開發(fā)過程中,數(shù)據(jù)是最重要的一部分,如果程序的代碼錯(cuò)了,我們可以通過各種方式修改回來,但如果數(shù)據(jù)失真了,將永遠(yuǎn)無法還原,那種欲哭無淚的滋味,相信經(jīng)歷過的人是深有體會(huì)的??赡苓@些小的細(xì)節(jié)對(duì)我們來說都是微不足道的,但往往這些微不足道而且是小概率的事件將會(huì)毀了你。
記得剛開始工作的時(shí)候,我們項(xiàng)目組的幾個(gè)人對(duì)某個(gè)市的數(shù)據(jù)進(jìn)行操作,由于自己的一個(gè)不小心,寫錯(cuò)了一個(gè)SQL就把其中一部分的數(shù)據(jù)給毀了,那時(shí)候心理真的很難受,多么希望有個(gè)人可以罵罵我,至少心理會(huì)好受一點(diǎn),但是沒有人理我,這樣一直在水深火熱這中,感覺自己已經(jīng)到了地獄一般。經(jīng)過多年程序生涯,在地獄中也得到了一些成長(zhǎng),于是把自己的一點(diǎn)用金錢換來的經(jīng)驗(yàn)全盤托出,希望對(duì)一些朋友有所幫助。1、不要用Truncate Table語(yǔ)句。剛開始學(xué)這個(gè)語(yǔ)句的時(shí)候,相信很多人多會(huì)拿出來跑一跑,會(huì)很高興地向同事證明你的Truncate Table比Delete跑得更快,但是如果你養(yǎng)成這樣的習(xí)慣,萬一有一天誤刪東西的時(shí)候,就還原不回來了,因?yàn)門runcate Table不會(huì)記錄日志,所以,如果操作重要數(shù)據(jù)的時(shí)候,還是用回Delete語(yǔ)句吧。

創(chuàng)新互聯(lián)公司主要業(yè)務(wù)有網(wǎng)站營(yíng)銷策劃、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、小程序制作、H5技術(shù)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、網(wǎng)絡(luò)營(yíng)銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
2、每次動(dòng)數(shù)據(jù)庫(kù)之前,都先要把數(shù)據(jù)庫(kù)備份起來。這個(gè)習(xí)慣一定要養(yǎng)成,你操作數(shù)據(jù)庫(kù)的時(shí)候,哪怕只是做一次簡(jiǎn)單的查詢或只是刪除幾條普通的數(shù)據(jù),都先備份一下,不會(huì)花你很多時(shí)間,卻在你失誤的時(shí)候可以把你從死亡的邊緣拉回來。如果數(shù)據(jù)比較大,至少也要把表里的數(shù)據(jù)備份出來。
3、把刪除語(yǔ)句以及更新語(yǔ)句、插入語(yǔ)句注釋掉。我們操作數(shù)據(jù)庫(kù)時(shí),通常都喜歡在查詢分析器里寫一大堆SQL,然后選擇某一條,按F5來執(zhí)行,但有時(shí)候會(huì)直接按下F5,導(dǎo)致所有的語(yǔ)句都執(zhí)行,給數(shù)據(jù)造成一定的損害。如果你把那些有影響的語(yǔ)句注釋掉了,就算按錯(cuò)了也沒有關(guān)系。
4、不要隨便地去分離數(shù)據(jù)庫(kù)。如果我們要獲取整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí),盡量采用把數(shù)據(jù)備份下來,然后取到其他機(jī)器上還原,而不要把數(shù)據(jù)庫(kù)分離,然后再?gòu)?fù)制到其它機(jī)器附加。有時(shí)候,數(shù)據(jù)庫(kù)分離了之后就會(huì)造成無法附加,雖然概率很小,但一旦碰上了就會(huì)很麻煩,尤其是一些實(shí)時(shí)的系統(tǒng)。
5、自己不熟悉的數(shù)據(jù)庫(kù),不要去動(dòng)它。我們維護(hù)數(shù)據(jù)庫(kù)時(shí),有時(shí)候要 出差到其他市去操作數(shù)據(jù),這時(shí),其他項(xiàng)目組的同事可能會(huì)叫你幫忙更新這個(gè)更新那個(gè)的,如果你很熟悉數(shù)據(jù)庫(kù)的結(jié)構(gòu),以及了解更新的影響程度,那么你幫忙操作就無所謂,如果你不熟悉,盡量不操作,如果你做好了,功勞不是你的,如果出了什么差錯(cuò),你就要背黑鍋了。
6、身體疲勞時(shí)不要操作數(shù)據(jù)庫(kù)。加班是程序員的家常便飯,當(dāng)你加班到身體很疲勞時(shí),操作數(shù)據(jù)庫(kù)失誤的概率會(huì)很大,我記得剛剛出來工作時(shí)有一次我寫了一個(gè)DELETE語(yǔ)句,選擇執(zhí)行了居然漏選了一個(gè)WHERE條件,還好數(shù)據(jù)比較多,超時(shí)了,要不然就.........
7、如果自己對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)了解很透徹,而且你的數(shù)據(jù)庫(kù)技術(shù)水平已經(jīng)達(dá)到一定的高度,更加要小心了,通常出現(xiàn)誤操作導(dǎo)致數(shù)據(jù)失真就是這個(gè)階段,有時(shí)候?qū)W了一個(gè)新語(yǔ)法就會(huì)馬上拿去試著使用。
8、經(jīng)常要考慮你的SQL腳本有沒有什么漏洞,或者有沒有其他方法可以更有效率地執(zhí)行。
9、SQL SERVER2000里面有一個(gè)寶藏,就是它的聯(lián)機(jī)叢書,建議經(jīng)常去閱讀它,當(dāng)你把它讀完并理解之后,你的SQL水平基本就可以超80%的程序員了,根本不要去迷信什么NB的教材,但到了那個(gè)時(shí)候,你會(huì)發(fā)現(xiàn)自己懂的東西少了,要學(xué)習(xí)的東西更多了。
本文就為大家總結(jié)這么多,希望對(duì)大家能夠有所幫助。
【編輯推薦
- 使用數(shù)據(jù)庫(kù)的機(jī)制來確保數(shù)據(jù)的正確性
- 選擇數(shù)據(jù)庫(kù)產(chǎn)品的注意事項(xiàng)
- 數(shù)據(jù)庫(kù)表設(shè)計(jì)模板
- 如何使用SSB與數(shù)據(jù)庫(kù)通信
網(wǎng)站題目:操作數(shù)據(jù)庫(kù)必須養(yǎng)成的好習(xí)慣
文章出自:http://m.5511xx.com/article/djgijoo.html


咨詢
建站咨詢
