解决方案 »

  1.   

    数据库的教材貌似很少回答这样的问题
    如果不指定长度,数据库在存储的时候都必须给每个字段预留最大的存储空间,这样极大的浪费了空间,也加大了数据库本身管理的难度。
    如 varchar2.假如最大长度为4800,如果不指定长度,每个字段都必须预留这么大的空间(包括有些只能用的极少空间的字段),这样极大的浪费了资源,对数据库本身而言也增加了管理资源。
    其实就是一句话:用多少,申请多少。你不觉得这样更节约吗?
      

  2.   

    数据库的教材貌似很少回答这样的问题
    如果不指定长度,数据库在存储的时候都必须给每个字段预留最大的存储空间,这样极大的浪费了空间,也加大了数据库本身管理的难度。
    如 varchar2.假如最大长度为4800,如果不指定长度,每个字段都必须预留这么大的空间(包括有些只能用的极少空间的字段),这样极大的浪费了资源,对数据库本身而言也增加了管理资源。
    其实就是一句话:用多少,申请多少。你不觉得这样更节约吗?
    这里字段长度的单位是字节吧,比如在mysql中int默认是4个字节,能表示2^32范围的数,
    我声明一个int型字段,却在括号里写10或100,反正就是超过4的一个值,怎么执行时数据库不会报错?
    指定的长度不应该超过该类型的最大长度吧,是不是这道理?还有个问题:int(10)是表示值的大小不超过10个字节所表示范围,还是字符位数不超过10个?比如23313这个值只有5位
      

  3.   

    数据库的教材貌似很少回答这样的问题
    如果不指定长度,数据库在存储的时候都必须给每个字段预留最大的存储空间,这样极大的浪费了空间,也加大了数据库本身管理的难度。
    如 varchar2.假如最大长度为4800,如果不指定长度,每个字段都必须预留这么大的空间(包括有些只能用的极少空间的字段),这样极大的浪费了资源,对数据库本身而言也增加了管理资源。
    其实就是一句话:用多少,申请多少。你不觉得这样更节约吗?
    这里字段长度的单位是字节吧,比如在mysql中int默认是4个字节,能表示2^32范围的数,
    我声明一个int型字段,却在括号里写10或100,反正就是超过4的一个值,怎么执行时数据库不会报错?
    指定的长度不应该超过该类型的最大长度吧,是不是这道理?还有个问题:int(10)是表示值的大小不超过10个字节所表示范围,还是字符位数不超过10个?比如23313这个值只有5位1E38
      

  4.   

    数据库的教材貌似很少回答这样的问题
    如果不指定长度,数据库在存储的时候都必须给每个字段预留最大的存储空间,这样极大的浪费了空间,也加大了数据库本身管理的难度。
    如 varchar2.假如最大长度为4800,如果不指定长度,每个字段都必须预留这么大的空间(包括有些只能用的极少空间的字段),这样极大的浪费了资源,对数据库本身而言也增加了管理资源。
    其实就是一句话:用多少,申请多少。你不觉得这样更节约吗?
    这里字段长度的单位是字节吧,比如在mysql中int默认是4个字节,能表示2^32范围的数,
    我声明一个int型字段,却在括号里写10或100,反正就是超过4的一个值,怎么执行时数据库不会报错?
    指定的长度不应该超过该类型的最大长度吧,是不是这道理?还有个问题:int(10)是表示值的大小不超过10个字节所表示范围,还是字符位数不超过10个?比如23313这个值只有5位INT、INTEGER 是 NUMBER 的受限子类型(只表示整数),相当于 NUMBER(38)。