房天下 > 房天下问答 > 业主生活 > 其他
  • MySQL中一个字段的数据为空的时候占空间吗?

    提问者:fqdg

    发布于2010-10-26

共1个回答
  • golb 丨Lv 3
    可能占。数组存储在表中的一行是这种形式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这个字段在一行数据的中间时,它需要维护没行数据的结构统一 ,需要占用一点空间。神啊,够详细了吧?
    +1 2010-10-27 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。