littleQ

          終于明白曾經他們失落的目光,當年的你們是否一樣;間有懈怠或有頹放,難知多久方能補上;今起,不再彷徨!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

          from: http://littlez.javaeye.com/blog/236059
          我們總在說優化,有這么多可優化的地方嗎?
          開發需求:

          create table HELP_TEST(    
          id 
          number
          ,   
          CONTENT_ID 
          NUMBER not null
          ,     
          PV 
          NUMBER not null
          ,     
          UPDATE_DATE DATE 
          not null
           )   
          主鍵:id   
          索引:content_id,update_date   
          序列:seq_help_test_id  

          看起來好像很簡單,沒什么不對的地方。
          仔細分析業務,我發現content_id,update_date是唯一的,如果我們把這兩個字段做個聯合主鍵,那豈不是可以省略id主鍵,節省空間。表結構修改為:
          create table HELP_TEST(    
          CONTENT_ID 
          NUMBER not null
          ,     
          PV 
          NUMBER not null
          ,     
          UPDATE_DATE DATE 
          not null
           )   
          主鍵 :content_id,update_date  

          這樣下來,表記錄少一個字段id,少一個id索引,每行記錄節省了十幾個字節,對于很小的表空間省略是微不足道的,但是對于上千萬行記錄的表來說,節省的空間還是相當可觀的。
          很多微不足道的地方,優化起來也是有用的,能省則省嘛。

          --EOF--

          Trackback:http://rdc.taobao.com/blog/dba/html/178_dev_whatdo.html/trackback
          posted on 2008-09-03 13:17 littleQ 閱讀(245) 評論(1)  編輯  收藏 所屬分類: 數據庫

          Feedback

          # re: 數據庫優化小例子 2008-09-29 04:21 sclsch
          content_id 看字面是個外鍵,標實別一張歌content的id
          update_date 是更新時候。
          他們都不宜作主鍵。  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航: