2013-09-25 36 views
1

我有一个表有1800万行,今天我发现我并不需要知道一个外键列取决于另一列的值。空,而不是整数外键性能和空间考虑

我的问题是。

  • 如果我设置该列为NULL而不是一个我真的不需要的外部整数键,这会节省空间吗?

  • 如果我在行上将外键设置为null,是否有任何性能方面的考虑。它会加快查询速度还是减慢查询速度?

回答

1

不幸的是,固定宽度的数据类型总是被存储。 NULL和not-NULL状态之间的唯一区别在于是否在空位图中设置了相应的位。据推测,这是为了加快在查询时解释数据结构。固定偏移列值有助于读写访问。

ROWPAGE压缩,但是,你会意识到节省(假设压缩并没有大大缩小列)。

要回答第二点,这里没有足够的信息来做到这一点。取决于正在运行的查询。

相关问题