性能星型模式(BI)

时间:2013-08-02 20:38:25

标签: sql-server database database-design oracle11g business-intelligence

我们对每个公司,国家和产品都有不同的安慰:

A公司,澳大利亚,啤酒,10,22,3,9

常见用例是计算特定国家啤酒的量度1的总和。

我有两个选择:

选项A:

尺寸-表:

ID
Company
Country
Product

测量 - 表:

Dimension.ID (FK)
DateTime
Measure1
Measure2
Measure3
Measure4

选项B:

多功能单表:

ID
Company
Country
Product
DateTime
Measure1
Measure2
Measure3
Measure4

维度表中有10,000个唯一记录,而在Measure表中有近30,000,000条记录。

目前我们在产品,公司和国家/地区使用字母数字键。

我的问题

哪个表现更好?

有关索引列的任何建议吗?

1 个答案:

答案 0 :(得分:1)

如果你假设“维度”表中一行的平均大小是50个字节(只是猜测),而在“度量表”中也是50个字节,那么在选项A中你将拥有大小不小于1.5 GB的数据库,在选项B中不少于3 GB。这是一个显着的差异。

所以我会说选项A更好,因为数据库大小更小。

索引取决于您要使用的查询。但我认为在使用选项A时,由于“维度”表很小,因此不需要索引(除了由主键和外键创建的索引)。