请问一下,数据库中存储数字用整型存储比用字符型存储要节省空间是吧?
例如:我的数据库都是9位的整数(513256471),我将字段的数据类型设置为INT型存储的话每条数据只占用4字节,如果将字段设置为字符型则要占用至少9字符是不是?
可是我将1亿条数据存储到MSSQL2008中却发现使用字符型和使用整型所占用的空间是几乎相同的,请教一下是怎么回事?是不是我设置的问题呢?

解决方案 »

  1.   

    create table tbtesttype1(a int)
    create table tbtesttype2(b varchar(9))
    go
    --各插入1000条数据
    insert tbtesttype1 
    select 123456789
    go 1000insert tbtesttype2
    select '123456789'
    go 1000
    --查询使用情况sp_spaceused tbtesttype1
    /*
    name rows reserved data index_size unused
    tbtesttype1 1000        40 KB 32 KB 8 KB 0 KB
    */
    sp_spaceused tbtesttype2
    /*
    name rows reserved data index_size unused
    tbtesttype2 1000        48 KB 40 KB 8 KB 0 KB
    */
    drop table tbtesttype1,tbtesttype2怎么会差不多,我就1000条就差这么多了
      

  2.   

    2008里面只能定义为int,不能指定长度,系统现实长度就是4
      

  3.   


    如果int按4B的话那么1000个4B才4KB,就算加上为空性管理和行标题等开销也不会大那么多。
    真是不解
      

  4.   

     注意行开销。 !!!!!!!!看完这篇,你就明白了。
    http://blog.csdn.net/feixianxxx/archive/2010/03/17/5390317.aspx