Sybase IQ 15查看一个表尺寸可以使用sp_iqtablesize存储过程,该存储过程可以获得表存储在磁盘中的尺寸(即压缩后的尺寸),也可以获得在内存中的尺寸(即解压后的尺寸)。下面是这个存储过程的使用示例:
sp_iqtablesize 'tpch_user.lineitem'
下面是上面命令执行后的示例输出:
Ownername Tablename Columns KBytes Pages CompressedPages NBlocks
tpch_user lineitem 16 5089752 84796 78336 636219
说明:“KBytpes”字段值是指表存储在磁盘中的尺寸
“Pages”字段值是指表在内存中的尺寸
sp_iqtablesize存储过程还有如下的用法:
select Tablename,columns,
KBytes as "size on disk(K)",
cast( Pages*128 as Integer ) as "size on memory(K)"
from sp_iqtablesize('tpch_user.lineitem')
说明:
在iq中存储过程可以当做一个表使用(如上面的用法);
cast( Pages*128 as Integer )是IQ数据库的IQ PAGE SIZE尺寸,该尺寸是在建库时指定的。
除了使用sp_iqtablesize存储过程查看表的尺寸之外,还可以使用sp_iqdbspaceinfo存储过程查看指定dbspace中、指定表的字段、索引等明细尺寸信息。下面是一个例子:
select object_name,columns,indexes,
metadata,primary_key,unique_constraint,foreign_key
from sp_iqdbspaceinfo('TPCH_USER_MAIN','tpch_user','lineitem')
where object_type='table'
下面是命令执行的输出示例:
object_name columns indexes metadata primary_key unique_constraint foreign_key
lineitem 2.89G 0B 7.89M 916M 0B 1.06G
说明:
(1) columns字段值是指表的所有字段数据(即FP索引)的总尺寸
(2) indexes是IQ索引的尺寸(不包括primary key定义的索引的尺寸)
(3) primary_key是主键的尺寸(不包括primary key定义的索引的尺寸);foreign_key是外键的尺
寸;unique_constraint是唯一约束的尺寸。
(4) columns + indexes + metadata + primary_key + foreign_key + unique_constraint = sp_iqtableszie输出的KBytes值
阅读(8959) | 评论(0) | 转发(0) |