gpt4 book ai didi

mysql - 使用 DATE 字段作为 MySQL 日期维度的主键

转载 作者:IT王子 更新时间:2023-10-28 23:53:31 28 4
gpt4 key购买 nike

我想处理 MySQL 数据仓库中的日期维度。 (我是DW世界的新手)

我用 google 进行了一些搜索,看到了很多表结构(大部分)日期维度,其中主键是一个简单的 UNSIGNED INTEGER

为什么不使用 DATE 字段作为主键,因为在 MySQL 中,INTEGER 是 3 字节 VS 4 字节?

例如:

CREATE TABLE dimDate
id INTEGER UNSIGNED NOT NULL PRIMARY AUTOI_NCREMENT,
date DATE NOT NULL,
dayOfWeek
...

VS

CREATE TABLE dimDate
date DATE NOT NULL PRIMARY,
dayOfWeek
...

最佳答案

日期维度 有点特殊——实际上首选具有日期 (2011-12-07) 或与日期相关的整数 (20111207) 作为主键。这允许对事实表进行很好的分区(按日期)。

对于其他类型的维度,建议使用代理(整数)键。

作为一个模板,每个维度通常都有 unknown, not entered, error, ... 的条目,这些条目通常与键 0, -1, -2, ... 匹配

因此,更常见的是查找整数格式的日期 (20111207) 作为主键而不是日期——表示 unknown, not entered, error, ... 带有日期类型的键。

关于mysql - 使用 DATE 字段作为 MySQL 日期维度的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8415715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com