鉴于这种情况,
三个国家的销售信息。
CountryA: 0.9M records.
CountryB: 0.8M records.
CountryC: 0.7M records.
从理论上讲,以下方法之间的预期性能差异(*)是什么?
- 一个立方体,每个国家有一个分区。
- 三个立方体,每个国家一个。
(*)对于单个国家/地区查询,当然。
鉴于这种情况,
三个国家的销售信息。
CountryA: 0.9M records.
CountryB: 0.8M records.
CountryC: 0.7M records.
从理论上讲,以下方法之间的预期性能差异(*)是什么?
(*)对于单个国家/地区查询,当然。
只要分区方法的查询正确地针对适当的分区,性能差异应该很小。
如果事实/维度关系相同,则采用分区方法。这将使跨分区返回结果变得更加容易(例如第 1 季度的 TotalRevenue 或 ProductA 的 TotalCost)。如果将它们分成单独的立方体,这些将更加难以计算。对于使用 Excel 数据透视表或报表生成器等自助服务研究工具来定位多个多维数据集的分析师来说,这也将变得更加复杂。
以下是 SQL CAT 团队关于分区大小的建议:
在大多数情况下,分区应包含少于 2000 万条记录,每个度量值组应包含少于 2000 个分区。此外,避免定义包含少于 200 万条记录的分区。分区过多会导致元数据操作变慢,而分区过少会导致错失并行机会。
你显然在 2000 万记录推荐之下。此外,我还会查看每个分区的数据大小。较小的多维数据集(只有必要的度量、属性关系和正确定义的层次结构等)可以在每个分区显着更多记录的情况下表现良好。
以下是 SQL CAT 最佳实践的完整列表: