在FACT表中使用ANYDATA / SQL_VARIANT

时间:2012-03-19 12:36:51

标签: database data-warehouse

我正在为事实表设计架构,但我对使用ANYDATA / SQL_VARIANT存储度量有点不确定。我使用此类型的原因是重复使用该列来测量基于相同多维数据集的多个报告。

在性能,可伸缩性,可维护性等方面使用ANYDATA / SQL_VARIANT有哪些缺陷/弊端?

1 个答案:

答案 0 :(得分:1)

您可能希望查看此similar question。我会避免这些数据类型,因为:

  • 由于需要隐式或显式转换为其他数据类型进行比较,传递给函数等,它们可能会使您的ETL过程变得更慢,更复杂。
  • SQL_VARIANT(即Microsoft SQL Server)无法存储所有数据类型(诚然,它无法存储的数据类型不太可能是测量,但重点仍然存在)
  • 工具和应用程序可能无法有效地处理它们,甚至根本无法处理它们
  • 他们“不寻常”(至少在我的经验中),你应该只有在他们有非常显着的优势时才能实现不寻常的事情,否则你会增加维护的复杂性而没有任何好处
  • 从您的描述中不清楚您将从数据类型中获得哪些优势,但您似乎正在寻找通用度量数据类型,并且由于上述链接问题中列出的原因,这可能不是一个好方法