【问题标题】:Using ANYDATA/SQL_VARIANT in FACT table在 FACT 表中使用 ANYDATA/SQL_VARIANT
【发布时间】:2012-03-19 12:36:51
【问题描述】:

我正在为事实表设计架构,但我有点不确定是否使用 ANYDATA/SQL_VARIANT 来存储度量。我使用这种类型的原因是将该列重用于基于同一个 CUBE 的多个报告的度量。

在性能、可扩展性、可维护性等方面,使用 ANYDATA/SQL_VARIANT 有哪些缺陷/缺点?

【问题讨论】:

    标签: database data-warehouse


    【解决方案1】:

    您可能想看看这个similar question。我会避免使用这些数据类型,因为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2013-07-31
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多