可能占。
数组存储在表中的一行是这种形式
rowid | 列1信息(类型,长度),列1数据 | 列2信息,列2 数据 | …………
当为null的字段在一条记录的最后,就是说他后边没有非null的字段值时,是不占空间的
当为null的字段在一条记录的中间,就是说他后边还有非null的字段值时,他占一个字节
所以oracle建议在设计表结构时尽量把可空的字段放到最后!
补充:
对于数据库中的一条数据,应该算是横排,
rowid | 列1信息(类型,长度),列1数据 | 列2信息,列2 数据 | …………
也就是列1都可能为空,那你就在建表的时候尽量把它放到最后一个字段。
让数据变成这样。。
rowid | 列2信息,列2 数据 | …………| 列1信息(类型,长度),列1数据
对了,我上面列出来的不是你所看到,而是数据在DB中的实际存储的结构。
你看到的,应该是:
列1数据 | 列2 数据 | …………
列2 数据 | …………| 列1数据
总结下:null数据它本身不占空间,但是如果null这个字段在一行数据的中间时,它需要维护没行数据的结构统一 ,需要占用一点空间。
神啊,够详细了吧?
温馨提示:答案为网友推荐,仅供参考