比如有个字段名叫desc,实际的长度是20,我们在设计数据库时故意设成冗余的2000,这样做的坏处是什么?请达人指教

解决方案 »

  1.   

    ORACLE不是可以自动把空格去掉吗?比如20个长的字段,存了2个字符的内容,数据库会自动压缩,事实是这样的吗
      

  2.   

    没有自动压缩这一说。
    如果是VCHAR倒是不会有空格,CHAR的话需要取出时用rtrim去掉空格。
      

  3.   

    按照你的想法,必须是用varchar类型,比如varchar(2000),即使你把长度设为2000,当你存储的数据为20位时,他在数据库中依然占用20位(40byte),不会占占用2000位(40
    00byte)。
    至于char类型则是定义多长就使用多长,如果你定义200位即使你的只有20位它也占用200位。
    所以说设计字段时如果长度不确定,应该使用varchar类型,长度比你实际用的大一些没问题而且应该打一些以便留点余地。
      

  4.   

    同意楼上的,能达到你要求的 只有用变长字段(varchar)了,只要你的数据不超过你设的长度,在数据库中会只占用数据的实际长度的位置。
      

  5.   

    各位帮助顶顶 java技术 Borland jbuilder 中 关于querydataset的删除记录问题 的帖子。