ORACLE单表理论最大记录数

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

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

 

假设:

一个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千亿条记录。

posted @   lclc  阅读(2195)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示