关于数据库的 表设计。把所有字段,109个字段,都设置成NOT NULL,合理否?据说设置成NOT NULL能提高速度。

解决方案 »

  1.   

    看需求了  全部设置成not null 要注意设置 默认值  要不 109列数据 插入的时候 很纠结
      

  2.   

    设置成NOT NULL能提高速度确实可以提过速度,对于经常更新插入删除的表字段不应该太多,尽量规范化,使用多个表。对于只有查询的可以有很多字段,比如历史数据。
      

  3.   


    据说都不是不准确的,根据实际情况来,
    如一个字段,确实不存在为null的情况,可以设置成not null
    那为什么说not null会提高速度呢,
    一个原因是帮助查询分析器分析,
    如条件是id='123' or id is null
    经常有这样的情况,如果id 是not null,查询分析器会直接优化过滤条件id is null但是所有设置成not null,也有很大的问题,特别字段有char(50)这种类型,会占据大量的空间。
      

  4.   

    那我要是换个说法,能设置成NOT NULL 的,尽量设置成NOT NULL,这样是不是合理了。
      

  5.   

    需求第一,在此基础上再考虑实际操作的便捷和效率,
    都not null肯定是不太方便的
      

  6.   

    字段有点多需求是每次添加的时候都是必选项吗?如果不是,就不能全部 not null
      

  7.   


    109 字段....  SAP导出的有这麽多设置NOT NULL  有必要吗 和性能关系不大吧
      

  8.   

    需求是每次添加的时候都是必选项吗?如果不是,就不能全部 not null
      

  9.   

    看需求,如果一百多列全部not null,那不把人类似哦....
    后期还是需要优化的,并不是你设计表结构的时候就可以全部优化完的
      

  10.   

    加NOT NULL后加DEFAULT才是正解。
      

  11.   

    1.把所有字段,109个字段,都设置成NOT NULL,合理否?
    没有什么不合理。按需设置。
    2.据说设置成NOT NULL能提高速度
    没这说法吧,建索引才能提高速度。109多个属性,是否符合范式?不能再分了吗?