首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪花比索引好吗?

雪花比索引好吗?
EN

Stack Overflow用户
提问于 2013-01-13 04:24:58
回答 1查看 2.8K关注 0票数 5

问题是,我有一个销售信息表,其中包含销售信息,其中有列(主键ID、产品名称、产品ID、商店名称、商店ID、销售日期)。我想做分析,如钻研和深入商店/产品/销售日期。

我在考虑两种设计方案,

  1. 在诸如产品名称、产品ID、商店名称、商店ID、销售日期等列上创建单独的索引;
  2. 使用数据仓库雪花模型,将当前的销售信息表作为事实表,创建产品、存储和销售日期维表。

为了有更好的分析性能,我听说雪花模型更好。但是,为什么从数据库设计的角度看,它比索引更好呢?

谢谢你,林

EN

回答 1

Stack Overflow用户

发布于 2013-01-13 04:38:16

了解应用程序的使用模式和您想要优化的内容是很重要的。以下是选择一个而不是另一个的几个理由。

归一化雪花职业:

查询速度更快,磁盘和内存需求更低,。由于每个规范化行只有较短的键而不是较长的文本字段,因此您的主要事实数据表变得小得多。即使使用索引(除非查询可以由索引本身直接回答),也经常需要部分表扫描,而较小的数据意味着磁盘读取较少,访问速度更快。

更容易修改和更好的数据完整性。比如说一家商店改名了。在雪花中,您更改一行,而在大型非规范化表中,每次出现时都必须更改它,并且最终会出现拼写错误和多个同名变体。

非正态化宽表专业人员:

更快地加载单个记录。当您通常只加载单个记录或少量记录时,将所有数据放在一行中只会导致一个缓存丢失或磁盘读取,而在雪花中,DB可能必须从不同磁盘位置的多个表读取数据。这更像是NoSQL数据库存储与键关联的“对象”的方式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14300643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档