pe_size
Informix 中的 of是什么sysptnext
意思,单位是pe_size
什么?单位 o/s 是特定的吗?可pe_size
用于计算表格的大小,例如:
select dbsname, tabname, sum(pe_size )*2 / 1024 total_size
from systabnames, sysptnext where partnum = pe_partnum
group by 1, 2 order by 3 desc;
pe_size
Informix 中的 of是什么sysptnext
意思,单位是pe_size
什么?单位 o/s 是特定的吗?可pe_size
用于计算表格的大小,例如:
select dbsname, tabname, sum(pe_size )*2 / 1024 total_size
from systabnames, sysptnext where partnum = pe_partnum
group by 1, 2 order by 3 desc;
显示的查询针对数据库中的表运行sysmaster
。您通常可以sysmaster
在 Informix Aministrator 的参考手册中找到对表和视图的描述。但是,似乎sysptnext
( ptn
= partition, ext
= extents) 没有记录。这意味着它在某些视图中使用。$INFORMIXDIR/etc/sysmaster.sql
您可以在表格中找到更多信息,包括评论“{仅供内部使用}” 。该注释主要表示 Informix 不承诺在需要时不更改表。它通常不会更改使用该表的视图,但它可能会在不通知的情况下修改该表。
{ Partition Extent Descriptions }
create table informix.sysptnext { Internal Use Only }
(
pe_partnum integer, { partnum for this partition }
pe_extnum smallint, { extent number }
pe_chunk integer, { chunk number for this extent }
pe_offset integer, { chunk offset for this extent }
pe_size integer, { size of this extent }
pe_log integer { logical page for start }
);
范围大小在内部以页为单位(创建表时以千字节(千字节)为单位指定它们)。页大小取决于存储表的数据库空间。但是,除非您为不同的 dbspace 配置了不同的页面大小,否则任何地方都会使用相同的大小。页面大小是 2 KiB(Solaris、AIX、HP-UX、Linux)还是 4 KiB(Windows、Mac OS X)取决于平台。
根据分配的空间,您的查询应该接近生成表的大小。这大于用于存储行的空间。它也不考虑存储在 blob 空间或智能 blob 空间中的 blob;它也不考虑(分离的)索引。而且,如前所述,它假定页面大小为 2 KiB,而不是适应不同的页面大小。除以 1024 产生以 MiB 为单位的大小(兆字节;相当于兆字节的二进制)。
我保留错过有关碎片表的某些内容的权利。碎片表有多个分区,但systabnames
表和您的分组子句应该处理这个问题。
如果您有一个 MODE ANSI 数据库,您可能有两个(或更多)不同的表,它们的名称相同但所有者不同;您的查询会将这些表合并为一个报告的答案。