我现在有个表是用自增类型的ID,用的是int,但是发现数据有点多,一天30万条,那一个月就有一千万条了,用什么类型好呢??
sql server2005的int究竟是多大呢?

解决方案 »

  1.   

    用浮点型或者GUID吧 ,如果数据不移植的话,总这么累计的话,肯定会爆的。int :
    int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节 
      

  2.   

    oracle用序列的飘过~Sql Server下:bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。
      

  3.   

    建议用浮点类型或者GUID,不过数据不移植一直这么积累,数值型显然不行,只能用 guid了 
    int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节 
      

  4.   

    用bigint吧。int数据类型所表示的数值范围从-2^31到2^31-1,也就是说,你可以用int数据类型来表达-2,147,483,648到2,147,483,647(即大约正负二十亿)之间的整数。一个int型占用四个字节的存储空间。  而bigint可以精确的表示从-2^63到2^63-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之间的整数,它占用了八个字节的存储空间。
      

  5.   

    没听说过用浮点型来当自增字段。
    GUID还行,但是查询不太方便。觉得不够用,就用bigint
      

  6.   

    GUID, 有个专用类型叫什么identystring,具体记不清了
      

  7.   

    那就算一直累积,也能用几十年呢,就用int吧