我有一个有1800万行的表,今天我发现我根本不需要知道其中一个外键列,具体取决于另一个列值。
我的问题是。
如果我将该列设置为NULL而不是我真正不需要的外部整数键,这会节省空间吗?
如果我在行上将外键设置为null,是否有任何性能方面的考虑因素。它会加快查询速度还是减慢速度?
答案 0 :(得分:1)
不幸的是,始终存储固定宽度的数据类型。 NULL
和非 - NULL
状态之间的唯一区别在于是否在空位图中设置了相应的位。据推测,这是为了加快在查询时解释数据结构。固定偏移列值有助于读写访问。
但是,通过ROW
或PAGE
压缩,您将实现节省(假设压缩并未将列大幅缩小)。
要回答第二点,这里没有足够的信息来做到这一点。取决于正在运行的查询。