寬表和窄表的區別

2021-10-12 07:25:11 字數 463 閱讀 8773

一、寬表

(1)寬表:從字面意義上講就是字段比較多的資料庫表。通常是指業務主題相關的指標、維度、屬性關聯在一起的一張資料庫表。由於把不同的內容都放在同一張表儲存,寬表已經不符合三正規化的模型設計規範,隨之帶來的主要壞處就是資料的大量冗餘,與之相對應的好處就是查詢效能的提高與便捷。這種寬表的設計廣泛應用於資料探勘模型訓練前的資料準備,通過把相關字段放在同一張表中,可以大大提高資料探勘模型訓練過程中迭代計算時的效率問題。(一句話,空間換時間,便於訓練迭代、減少表關聯數量,修改少量資料時不需要該多張表)

(2)「寬表」特點:乙個表就是乙個class,每個字段就是乙個filed,操作簡單。但不便擴充套件。

二、窄表

(1)窄表:嚴格按照資料庫設計三正規化。儘量減少資料冗餘,但是缺點是修改乙個資料可能需要修改多張表。

(2)「窄表」特點:方便擴充套件,能適應各種複雜的資料結構(樹形、繼承等),無論有多少配置,都不用修改表結構。但**邏輯可能需要包裝一下

寬表和窄表的區別

寬表和窄表的建設該如何選擇?這個問題相信糾結了很多從是資料庫開發 資料倉儲開發和後台開發人員 單單考慮這個問題,難給出乙個絕對的答案 本人從事資料倉儲開發工作到現在已經有一年半時間了,對於這個問題,我也曾經糾結過,但是是否有絕對的答案呢?事實上任何東西都沒有絕對的說法。考慮這樣的乙個問題,乙個公司有...

寬依賴和窄依賴 Spark 寬依賴和窄依賴

1.前言 上一節spark dag概述 spark中rdd的高效與dag圖有著莫大的關係,在dag排程中需要對計算過程劃分stage,暴力的理解就是stage的劃分是按照有沒有涉及到shuffle來劃分的,沒涉及的shuffle的都劃分在乙個stage裡面,這種劃分依據就是rdd之間的依賴關係。針對...

將MySQL的窄表轉換成寬表的方法

在擴充套件設計中,使用窄表可以很方便的增加新的項。如果用寬表,就會需要修改表結構,很不方便。而使用寬表在查詢過濾資料的時候會比窄表方便很多,資料的記錄量也會少很多。這裡介紹一種將窄表轉置成寬表的語法 select userkey,max case tagid when 1 then valueid ...