0

日付ディメンションテーブルに自然キーを持つという概念を理解しようと懸命に努力しています。

ディメンション テーブルでランダムな代理キーが作成されるのを常に見てきました。20150806しかし、私は最近、自然の代理キーと比較して、ファクトテーブルからのルックアップと逆ルックアップに関して、forのような日付ディメンションで自然キーを使用すると、Aug-06-2015はるかにうまく機能し、かなりのパフォーマンスが向上することを読みintました。

それがどのようにパフォーマンスを向上させるのか理解できません。join日付ディメンションにこの派手なキーを使用したとしても、ファクトとディメンションの間にはまだ必要です。

誰かがこれについて洞察を持っている場合は、知識を共有していただけませんか。例を挙げてフォローアップしていただければ幸いです。

4

1 に答える 1

0

パフォーマンスの向上はありません。キーは、日付レコードの任意の識別子にすぎません。ビジネス アプリケーションでは、通常、2000 年 1 月 1 日からのオフセット日を smallint として使用します。日付キーは非常に多くのレコードに存在するため、小さい整数を使用することにはわずかな利点があります。これにより、レコード サイズが縮小されます (したがって、キャッシュ可能なレコードの数が増加します)。

日付に「自然な」キー値を使用することの唯一の本当の利点は、必ずしも日付ディメンション テーブルに結合しなくてもテーブルを使用または参照できることと、目に見える「字句」の意味があることです。

しかし、データ ウェアハウスのコンテキストではまったく役に立ちません。

于 2015-08-07T00:31:23.263 に答える