柱状数据库

时间:2016-02-23 05:55:59

标签: sql sql-server data-warehouse database-performance

我有一个销售数据库,我希望根据这些类别选择获取客户详细信息。 我有大约15个类别,我的客户数据库是500万条记录。 每种产品可能属于多个类别。 我需要根据所选的类别检索客户名称。 将所有这些类别作为列或为产品和类别创建单独的表然后内部联接是更好的方法吗? 我希望在性能方面哪一个是更好的方法。

方法1:

option1 这里1表示该产品属于该类别。

方法2:

approach2

1 个答案:

答案 0 :(得分:2)

第二种方法(Approach 2)是更好的解决方案,而不是创建单个表,因为即使类别存在与否,每个产品都不一定要通过创建单独的列来保留空间的方法中的所有类别如果将来如果增加一个类别,你将不得不改变表格的当前结构,这将是一项艰巨的任务。

是加入会有点慢但是如果你正确地创建索引它会表现得更好。