簡體   English   中英

在事實表中包含所有外鍵的優缺點是什么?

[英]What are the advantages/disadvantages of having all Foreign Keys in the Fact Table?

我們的團隊計划將缺失的維度鍵(FK)添加到事實表中,以允許在維度和事實表之間直接查詢,而不是遍歷表。 本質上,更多地傾向於星形模式。 這將提高查詢性能(因為將需要較少的聯接)。

我已經在線閱讀了外鍵(FK)約束將影響插入,更新和刪除的性能。

還有其他事情要考慮嗎?

主要缺點是事實表記錄的大小增加。 您無需指定行的大小,但是添加新的外鍵可能會嚴重影響行的大小。

在大多數數據庫中,事實表中增加的行大小會減慢查詢速度。 但是,這在列式數據庫中將不再是一個問題。

實際上,增加大小可能會超過避免連接的優勢。

通常,我不會擔心主鍵上的中小型維表上的聯接。 也就是說,在進行此類根本性更改之前,應對全尺寸數據進行大量測試。

insert的影響只是需要驗證密鑰。 但是,這是針對引用表的主鍵進行檢查的,因此這些檢查非常快。 顯然,多花錢比少花錢多,但是開銷可能不會成為阻礙。

有利或不利的一件事是,尺寸在輸入時是靜態的。 更新事實表通常非常昂貴。 但是,尺寸確實會發生變化。 例如,偶爾會創建新的國家。 歷史數據如何表示?

在雪花模式中,最低的地理位置(可能)會比國家/地區更好,並且僅需要更新尺寸。 並且,如果需要在事實表中更新最低級別,那將影響相對較少的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM