欢迎 HiLanny 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2008年11月21日 星期五  您现在位于: 首页 → 技术文章 → Informix表空间...
   Informix表空间计算
作者:whitecrewhouse  出处:www.cublog.cn  更新时间: 2007年05月12日 

为了准确的计算informix的表空间,极佳的做好的磁盘的I/O和表空间的利用,主要从如下几个方面考虑表空间的计算:

确定每个索引的长度。 
确定索引的总长度。 
计算索引开销。 
确定表的初始大小。 
索引空间需要的大小。 
将索引空间转换成千字节(kilobyte)。 
确定以字节为单位的页大小;用它减去 28 就可以获得可用的页面空间。 
确定行的长度。 
确定一页上可以完整放置多少行。 
确定初始表的数据页的数目。 
初始表中数据页面所需的空间大小。 
将数据大小转换成千字节(kilobyte)。 
确定以千字节(kilobyte)为单位的初始区段大小。 
确定表的增长。 
下个区段的大小。 
 
举例:
现在,让我们来浏览一个例子。根据这个指南为 item 表一步步估算第一个和第二个区段大小。以下是 item 表的结构:
列          数据类型         长度(以字节为单位)*
Item_num smallint 2
Order_num integer          4
Stock_num smallint 2
Manu_code char(3)          3
Quantity smallint 2
Total_price       money(8) 5
现在,让我们假设该表在 order_num 上有一个索引,而且还有 stock_num 与 manu_code 上的复合索引。该表最初有 20,000 行,几个月内,它会增加 35,000 行。
每项的计算过程为:
步骤 描述                          计算(以字节为单位)
1       确定每个索引长度           order_num 上的索引 = 4+9 = 13     
                                         stock_num 和 manu_code 上的索引 = 2+3+9 = 14
2       确定索引的总长度                 13 + 14 = 27 
3       计算索引开销                     27 * 1.25 = 33.75
4       确定表的初始大小                     20,000 行
5       所需的总的索引空间                 20,000 * 33.75 = 675,000
6       将索引空间转换成千字节(kilobyte)  67,5000/1,024 = 660 (Kbytes)
7       确定以字节为单位的页大小
        减去 28 以获得页面开销              2,048 - 28 = 2,020 
8       确定行的长度                        2 + 4 + 2 + 3 + 2 + 5 + 4 = 22
9       确定每页有多少整行                  2020/22 = 91
10      确定初始表的数据页面数目            20,000/91 = 220 
11      数据所需的总空间                 220 * 2,048 = 450,560
12      将数据大小转换成千字节              450,560/1,024 = 440 
13      确定初始区段大小                    440 + 660 = 1,100 
14      确定表的增长                        增加 35,000 行
15      估算下个区段的大小                  所需的索引空间 = 35,000 * 33.75 = 1,181,250
                                            转换成 Kbytes = 1,181,250/1024 = 1,154
                                            所需的附加数据页 = 35,000/91 = 385
                                            转换成 bytes = 385 * 2,048 = 788,480
                                            转换成 Kbytes = 788,480/1,024 = 770
                                            所需的总空间 = 770 + 1,154 = 1,924
基于这些计算,就可以确定该表所需的第一个和下一个区段的大小,现在,您可以在 CREATE TABLE 语句中指定第一个和下一个区段的大小.CREATE TABLE item(
Item_num  smallint,
Order_num  integer , 
Stock_num  smallint,
Manu_code  char(3) ,
Quantity  smallint,
Total_price  money(8)) 
EXTENT SIZE 1100 NEXT SIZE 1924; 
通过以上计算可以基本上准确的计算出extend和next extend的大小,并充分利用.oncheck -pt dbname:tabname可以显示实际表空间的使用情况.
 (本文已被浏览 4049 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:Informix如何更加有效的创建主键和外键
下篇文章:Informix中求时间间隔的函数
 相关文章:
没有相关文章

相关搜索
查看百度中关于Informix表空间计算的更多内容
查看google中关于Informix表空间计算的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Linux.Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.