none
【数据库】请问Access数据库中的表最大能存放多少行记录? RRS feed

  • 问题

  • 请问Access数据库中的表最大能存放多少行记录?同样我在网上看了一篇文章,倍感关注,问题是这样的:<dfn></dfn> 当一个表的自增型主键ID到达极限会怎样?由此我引申出来几个问题:

    一、Access数据库表的主键自增最大极限是多少?

    二、 随着表中的数据删除和增加,虽然表中的记录总数并不多,大约在万条左右,但是自动增加的ID的数字越来越大。 换句话说主键ID大于实际表中的数据条数。有什么办法可以让主键重新排序么?

     

    最后一个问题就是我前面提到的“Access数据库中的表最大能存放多少行记录”

     

    先谢谢了!

    2010年6月17日 8:32

答案

  • 详细的规格可以查看access 和sql 的帮助

    1.记录数没有具体限制,但是文件大小在2007限制为2G大小,单个表的最大为2G-系统对象空间

    2.这个取决于你自增列的类型,通常int(就是int32)可以支持2的32次方个记录(考虑到有符号,应该在除以二)。

    3.通常可以通过重新创建自增列来生成新的ID(truncate table也可以重新生成id),不过如果你的记录能够超过2147483647个,建议你使用bigint或者guid来作为主键。毕竟我们使用这个键值是用来唯一标识记录的。

    4.达到极限的时候会报告溢出错误。比如ID是int,你的记录超过2147483647,数据库会报告算数溢出。

    5.最大记录问题比较纠结,由于文件大小限制,请结合以上几条自己取舍。个人结论是无限制,但是受制于文件大小。

     


    family as water
    • 已标记为答案 jinwb1982 2010年6月18日 7:51
    2010年6月17日 9:27

全部回复

  • 这个要看你的一个Microsoft Office Access 2007数据库有几张表,表一行数据有多大.

    Microsoft Office Access 2007的数据库文件最大是2GB,所以比如说你的数据库只有一张表,每条记录,也就是表中的每一行,大概在1KB大小,那么这个Access数据库应该可以放2百万条左右的记录。

    还有其他的一些限制,具体详见 http://office.microsoft.com/en-us/access-help/access-2007-specifications-HA010030739.aspx


    Mark as Answer if it helps. This posting is provided "AS IS" with no warranties, confers no rights.
    2010年6月17日 9:04
  • 详细的规格可以查看access 和sql 的帮助

    1.记录数没有具体限制,但是文件大小在2007限制为2G大小,单个表的最大为2G-系统对象空间

    2.这个取决于你自增列的类型,通常int(就是int32)可以支持2的32次方个记录(考虑到有符号,应该在除以二)。

    3.通常可以通过重新创建自增列来生成新的ID(truncate table也可以重新生成id),不过如果你的记录能够超过2147483647个,建议你使用bigint或者guid来作为主键。毕竟我们使用这个键值是用来唯一标识记录的。

    4.达到极限的时候会报告溢出错误。比如ID是int,你的记录超过2147483647,数据库会报告算数溢出。

    5.最大记录问题比较纠结,由于文件大小限制,请结合以上几条自己取舍。个人结论是无限制,但是受制于文件大小。

     


    family as water
    • 已标记为答案 jinwb1982 2010年6月18日 7:51
    2010年6月17日 9:27
  • 我在ACCESS的某一个表中插入100000条数据,结果读取页面显示。结果页面就“假死”了,读盘灯一直亮,此时CPU占用率为100%  页面交换1G多,而且继续增加中。而当时的数据库大小14M多,从这个列子就可以看出来Access数据库存储能力有限。大家可以试验一下

     

    以下为SQL脚本

    declare @i int

    set @i=1

    while @i<100000

    begin

    insert into table(filed1,filed2)values('数据1','数据2')

    set @i=@i+1

    end

    go

     

     

    2010年8月17日 3:17