•三类数值类型:
TINYINT(1Byte)
SMALLINT(2B)
MEDIUMINT(3B)
INT(4B)、BIGINT(8B)
FLOAT(4B)、DOUBLE(8B)
DECIMAL(M,D)
BAD CASE:
INT(1) VS INT(11)
BIGINT AUTO_INCREMENT
DECIMAL(18,0)bad case为什么不能这样用?求解答mysql 字段优化mysql字段优化

解决方案 »

  1.   

    BAD CASE:
     INT(1) VS INT(11)
     BIGINT AUTO_INCREMENT
     DECIMAL(18,0)1:INT(1)和INT(11)在数据存储方面没任何区别,只是在显示时有差别。(1)长度太短
    2:BIGINT占8字节,如果数据范围够用,用INT,可以减小一半主键的大小
    3:DECIMAL(18,0),小数位为0,失去了浮点型的作用了。
      

  2.   

    INT(1) VS INT(11)
    后面的数字只是对客户端有意义 对占用空间没任何影响 都是占用4个字节
    BIGINT AUTO_INCREMENT
    如果id自增超过20亿  则必须用bigint
    DECIMAL(18,0)
    只有整数部分 没有小数部分