iT邦幫忙

0

多欄位關聯式資料庫

  • 分享至 

  • xImage

想詢問有沒有比較好的資料庫設計方法適用於多欄位的資料。
近期在開發一個專案,該專案每10秒鐘左右會有一筆資料產生、並且該筆資料所擁有的欄位屬性高達700多個 甚至更多。

當前的資料庫設計為以下:

  • mainData
    • columnPartA
    • columnPartB
    • columnPartC
    • columnPartD
    • columnPartE
    • columnPartF
      並且ColumnPartA ~ ColumnPartF都含有mainData的ID作為關聯

當前此設計給我帶來了許多的資料庫效能上的不足,也常常出現一些資料庫上設定不恰當的原因。 因此想要提出一個新的結構並重新設計。
謝謝各位幫忙

看更多先前的討論...收起先前的討論...
七百以上的欄位,我想你需要的不是正規化,而是超高速IOPS儲存裝置了
其實講多少欄位不準要講一筆資料多少大小
假設樓主每一筆資料要五秒儲存時間
HDD 單顆250MB/S 的速度,五秒就已經是 1.25GB 了,如果改用 SATA 3 SSD 大概兩秒可以寫完,如果是 NVME SSD 大概 0.5秒
所以才說提高IOPS 才是正解
ckp6250 iT邦好手 1 級 ‧ 2022-11-10 15:33:27 檢舉
不曉得幾吋的螢幕才能觀看700個欄位?
ilwu iT邦新手 5 級 ‧ 2022-11-11 09:03:50 檢舉
樓上的高手發發發意見一針見血
再補充一下,如果瓶頸在於一個 row 的資料量過多
那要回頭檢視一下,程式的寫法是不是都是 select *
每次都把很多沒用的資料撈回來

一些物件導向的資料庫框架,會有這種行為 , 比方說 hibernate
alien663 iT邦研究生 3 級 ‧ 2022-11-11 16:53:08 檢舉
有沒有考慮部分欄位使用nosql的方式儲存?
我覺得700多個欄位用得徹底的可能性不大,我的話應該會分析那些欄位是比較有在使用的,這部分開欄位存放,另外的一大包直接用另一個表一對一,存成json格式
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答