一个表使用自增型字段ID作为主键,字段类型为长型型,范围大约两亿多条。
随着表中的数据删除和增加,虽然表中的记录总数并不多,大约在万条左右,但是自动增加的ID的数字越来越大。
在程序里想通过ID的大小来对记录加入表中的先后进行排序。
问当ID超过2亿多这个字段的极限时会怎么样?用ID来判断记录加入的先后顺序可行不可行?

解决方案 »

  1.   

    使用企业管理器里的设计表来修改成bigint类型,
    万一哪天到了2亿再改就太麻烦了,早做准备
      

  2.   

    正常来说,一般系统对你的建立时间、修改时间排序的需求是通过表设计实现的。举个例子:CREATE TABLE TBL_AA
    (
    ID BIGINT,
    CREATEDATE DATETIME,
    UPDATEDATE DATETIME
    ...
    )如果你只是简单的应用(非分布式),也可以使用ID作主键和排序。
      

  3.   

    bigint从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。用int
    2^31/100000/365=约58年
    用bigint
    2^63/100000/365=约252695124297年
    如果初始值是负的还能乘2