不考虑硬件诸如内存,存储等硬件的限制。

一张表理论能存储多少条记录呢?

假设:

一个tablespace中包含1022个datafiles,

单个datafiles的最大是32G

假设每个block是16k,每个block中有160条记录,

每个表可以有(1024*1024)-1个分区表

那么一张表理论最大存储记录数约为:

1.一个表空间tablespace的最大值:datafile个数 × 单个datafile的大小

1022 × 32G  =32704 G

2.换算成k

(32704 G *1024*1024 )=34,292,629,504 K

3.假设每个块16k,算出共有多少个块

34,292,629,504 K /16 K =2143289344  块

4.假设每个块存160记录。总记录数=块数×每个块的记录数

2143289344×160=342,926,295,040  记录

5. 最大分区表的个数 ×  最大记录数

SQL> select ((1024*1024)-1 )* 342926295040  maxnum from dual;

MAXNUM

----------

3.5958E+17

按Oracle设计:1个表空间(tablespace),最多由1022个文件数据文件组成(datafile),每个文件最大32GB,那么

1)一个表空间占用约:32TB空间。

如程序员设计:1条记录占用0.1KB空间,那么

2)一个表空间包括约:320G条记录(=32TB/.1KB),就是3千亿条记录。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐