state状态字段就几种情况:(数据库表存的是数字1,2,3)
1:新增
2:修改
3:删除
我认为char(1)存占用的空间比较少,但是最多只能存储8位数的字符串。int占用空间多(可能是32位),请问是不是这样理解的?char int

解决方案 »

  1.   

    #1.如果字段不参与运算,只是WHERE state = '1',用CHAR(1),可能会省些空间(对于一条记录,CHAR(1)比INT会省3字节,但很多情况下,一个页(8K)不会因为每条记录省这3字节而可以再多存储一行记录)。
    #2.如果字段参与运算,用INT
      

  2.   

    速度基本上差别不大,如果只是查询。直接用CHAR(1)就好了。不必纠结。
      

  3.   

    如果state状态字段的可能值只有: 1,2,3那么建议用tinyint数据类型即可,仅占1字节.
    http://technet.microsoft.com/zh-cn/library/ms187745(v=sql.105).aspx
      

  4.   


    谢谢!
    之前不懂……但选用tinyint……居然中了……