最近處理的一個數據表中的數據有大概6億左右的數據,基本上都是一些基礎信息,例如姓名,性別這種.如何讀取處理這些數據的思路做一個簡單的總結(oracle)
評估數據表
首先,數據表結構,每個字段的含義,類型;索引,主外鍵一定要清楚,以便后面對於數據進行分類處理.
數據分表處理
對於這種大表的讀取,不能可能直接讀取,否則越往后越慢.所以最好對大表進行分片,比如5億數據,1000萬或者5000萬一張表,我在實際環境中,基本都是1000萬一張表.
oracle中分表的話,直接用創建表的方式進行分表.最好不要在原表上操作,可以拉一份表,原表不動.接下來對拉過來的表進行一些預處理.
1)字段是否有主鍵,索引,如果沒有則需要創建
2)表中是否有適合分表的字段,比如說是否有遞增序列號,如果沒有則進行要分頁.或者給表增加一個字段,然后將rownum更新進去,然后在進行分表.
3)分表的時候最好有一個主鍵,如果沒有的話,那么給相應的列建立索引.
處理分表的異常數據
分完表后就要對表數據進行一個處理,要么請求獲取另一些數據,要么將數據發送給第三方服務.那么處理過程中難免會有異常情況(空數據,重復數據)出現,對於這些數據的處理需要記錄下來,可通過日志,或者寫入數據表記錄異常數據.
對於oracle數據分表處理,另一篇博客有介紹,在此不累贅了.