運算元據庫必須養成的好習慣

2021-08-23 11:39:17 字數 1547 閱讀 5002

from:

我們開發的系統中,資料是最重要的一部分,如果程式的**錯了,我們可以通過各種方式修改回來,但如果資料失真了,將永遠無法還原,那種欲哭無淚的滋味,相信經歷過的人是深有體會的。可能這些小的細節對我們來說都是微不足道的,但往往這些微不足道而且是小概率的事件將會毀了你。

記得剛開始工作的時候,我們專案組的幾個人對某個市的資料進行操作,由於自己的乙個不小心,寫錯了乙個sql就把其中一部分的資料給毀了,那時候心理真的很難受,多麼希望有個人可以罵罵我,至少心理會好受一點,但是沒有人理我,這樣一直在水深火熱這中,感覺自己已經到了地獄一般。經過多年程式生涯,在地獄中也得到了一些成長,於是把自己的一點用金錢換來的經驗全盤托出,希望對一些朋友有所幫助。

1、不要用truncate table語句。剛開始學這個語句的時候,相信很多人多會拿出來跑一跑,會很高興地向同事證明你的truncate table比delete跑得更快,但是如果你養成這樣的習慣,萬一有一天誤刪東西的時候,就還原不回來了,因為truncate table不會記錄日誌,所以,如果操作重要資料的時候,還是用回delete語句吧。

2、每次動資料庫之前,都先要把資料庫備份起來。這個習慣一定要養成,你運算元據庫的時候,哪怕只是做一次簡單的查詢或只是刪除幾條普通的資料,都先備份一下,不會花你很多時間,卻在你失誤的時候可以把你從死亡的邊緣拉回來。如果資料比較大,至少也要把表裡的資料備份出來。

3、把刪除語句以及更新語句、插入語句注釋掉。我們運算元據庫時,通常都喜歡在查詢分析器裡寫一大堆sql,然後選擇某一條,按f5來執行,但有時候會直接按下f5,導致所有的語句都執行,給資料造成一定的損害。如果你把那些有影響的語句注釋掉了,就算按錯了也沒有關係。

4、不要隨便地去分離資料庫。如果我們要獲取整個資料庫的資料時,盡量採用把資料備份下來,然後取到其他機器上還原,而不要把資料庫分離,然後再複製到其它機器附加。有時候,資料庫分離了之後就會造成無法附加,雖然概率很小,但一旦碰上了就會很麻煩,尤其是一些實時的系統。

5、自己不熟悉的資料庫,不要去動它。我們維護資料庫時,有時候要 出差到其他市去運算元據,這時,其他專案組的同事可能會叫你幫忙更新這個更新那個的,如果你很熟悉資料庫的結構,以及了解更新的影響程度,那麼你幫忙操作就無所謂,如果你不熟悉,盡量不操作,如果你做好了,功勞不是你的,如果出了什麼差錯,你就要背黑鍋了。

6、身體疲勞時不要運算元據庫。加班是程式設計師的家常便飯,當你加班到身體很疲勞時,運算元據庫失誤的概率會很大,我記得剛剛出來工作時有一次我寫了乙個delete語句,選擇執行了居然漏選了乙個where條件,還好資料比較多,超時了,要不然就.........

7、如果自己對資料庫結構了解很透徹,而且你的資料庫技術水平已經達到一定的高度,更加要小心了,通常出現誤操作導致資料失真就是這個階段,有時候學了乙個新語法就會馬上拿去試著使用。

8、經常要考慮你的sql指令碼有沒有什麼漏洞,或者有沒有其他方法可以更有效率地執行。

9、sql server2000裡面有乙個寶藏,就是它的聯機叢書,建議經常去閱讀它,當你把它讀完並理解之後,你的sql水平基本就可以超80%的程式設計師了,根本不要去迷信什麼nb的教材,但到了那個時候,你會發現自己懂的東西少了,要學習的東西更多了。

先總結到這裡,如果大家有什麼好的經驗或建議,請多多提出,大家共同交流!

好習慣的養成

1 以後一定要像今天這樣,如果是用別人的 就一定要用注釋寫清楚每一條語句的含義。2 堅持一小下,才能一點兒點兒地發現有機可成 功 才能讓自己地產生 自信,以 樂觀的心態面對生活中的每一件事,開心每一天。3 對自己狠一點兒,一定要多看書,多敲 往往最重要的理論就在細微之處,卻很難被一般人發現。4 我希...

程式猿養成 談談必須的好習慣

你是否編寫過複雜的 sql查詢語句,但卻不知道最基本的 update 和insert 語句的語法,當使用時還要去重新查詢 msdn 文件來獲取語法幫助 你是否編寫過複雜的程式邏輯,卻沒注意縮排和注釋,只注重高階的東西卻忽視了最基本的,這是好高騖遠的表現。生活中人說字如其人,可以通過乙個人的寫字方式和...

程式設計要養成的好習慣

dry這一法則可能是程式設計屆中最通用的法則了,目前為止,應該沒有哪個程式設計師對這一法則存有異議。但是,我們卻能發現,一些程式在編寫單元測試 unittesting 時忘記了這一法則 讓我們相像一下,當你改變乙個類的若干介面,如果你沒有使用dry,那麼,那些通過呼叫一系例類的介面的unittest...