不考虑硬件诸如内存,存储等硬件的限制。
一张表理论能存储多少条记录呢?
假设:
一个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
单表记录数如果达到了这个值,数据库的效率将会怎么样呢?