Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1566489
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2011-04-21 13:36:03

   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值

阅读(8771) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~