經驗總結:講解大型數據庫的設計準則_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:SQL Server各種日期計算方法之二
        上個月的最后一天      這是一個計算上個月最后一天的例子。它通過從一個月的最后一天這個例子上減去3毫秒來獲得。有一點要記住,在Sql Server中時間是精確到3毫秒。這就是為

      這篇文章主要介紹了大型數據庫設計所應掌握的基本準則,具體內容請參考下文。

      一個好的數據庫產品不等于就有一個好的應用系統,如果不能設計一個合理的數據庫模型,不僅會增加客戶端和服務器段程序的編程和維護的難度,而且將會影響系統實際運行的性能。一般來講,在一個MIS系統分析、設計、測試和試運行階段,因為數據量較小,設計人員和測試人員往往只注意到功能的實現,而很難注意到性能的薄弱之處,等到系統投入實際運行一段時間后,才發現系統的性能在降低,這時再來考慮提高系統性能則要花費更多的人力物力,而整個系統也不可避免的形成了一個打補丁工程。筆者依據多年來設計和使用數據庫的經驗,提出以下一些設計準則,供同仁們參考。

      命名的規范

      ---- 不同的數據庫產品對對象的命名有不同的要求,因此,數據庫中的各種對象的命名、后臺程序的代碼編寫應采用大小寫敏感的形式,各種對象命名長度不要超過30個字符,這樣便于應用系統適應不同的數據庫。

      游標(Cursor)的慎用

      ---- 游標提供了對特定集合中逐行掃描的手段,一般使用游標逐行遍歷數據,根據取出的數據不同條件進行不同的操作。尤其對多表和大表定義的游標(大的數據集合)循環很容易使程序進入一個漫長的等特甚至死機,筆者在某市《住房公積金管理系統》進行日終帳戶滾積數計息處理時,對一個10萬個帳戶的游標處理導致程序進入了一個無限期的等特(后經測算需48個小時才能完成)(硬件環境:Alpha/4000 128Mram ,Sco Unix,Sybase 11.0),后根據不同的條件改成用不同的UPDATE語句得以在二十分鐘之內完成。

      以下為引用的內容:
      示例如下:

      Declare Mycursor cursor for select count_no from COUNT

      Open Mycursor

      Fetch Mycursor into @vcount_no

      While (@@sqlstatus=0)

      Begin

      If @vcount_no=’’ 條件1

      操作1

      If @vcount_no=’’ 條件2

      操作2

      ...

      Fetch Mycursor into @vcount_no

      End

      改為

      Update COUNT set 操作1 for 條件1

      Update COUNT set 操作2 for 條件2

      分享:透視MySQL數據庫之更新語句
      用于操作數據庫的SQL一般分為兩種,一種是查詢語句,也就是我們所說的SELECT語句,另外一種就是更新語句,也叫做數據操作語句。言外之意,就是對數據進行修改。在標準的SQL中有3個語句,它們是I

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2008-08-22
      相關Mssql數據庫教程