ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » 内存数据库 » altibase 内存表实际记录尺寸计算

标题: [原创] altibase 内存表实际记录尺寸计算
离线 Arrayliyongdong
版主


精华贴数 5
个人空间 0
技术积分 4778 (283)
社区积分 132 (2977)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-10-25 11:21 
altibase 内存表实际记录尺寸计算

Data type             length                        align size
---------------------------------------------------------------
char                  2 + 字符长                      2
varchar  当字符长度小于126时按fixed公式计算!!
(fixed)           2 + 字符长                      2
   (variable)         72+ 实际长度                    2

numeric(p,s)          3 +((p+2)/2)                  无

smallint              2                               2
integer               4                               4
bigint                8                               8

date                  8                               4

* record sizing
每个记录由 head(24 byte) 和 data组成,而且根据对齐规则(align)其记录长度要整除于 8 byte。
对每一个字段也有align size ,所以计算记录长度时务必考虑这部分。即到目前字段为止的长度要整除于 下一个字段的align size。

ex)
create table t1 (
c1 char(1),
c2 varchar(126),
c3 varchar(128),
c4 numerc(5,2),
c5 date);
===> 24 + 3 + (2 + 126) + (2 + 128) + (3+(5+2)/2) + 8 = 299 ==> X
     24 + 4 + 128(2+实际长度) + 130(72+实际长度 ?) + 6 + 8 = 300 ==> X
24 + 4 + 128(2+实际长度) + 130(72+实际长度 ?) + 6 + 8 + 4 = 304 ==> O


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
离线 tom_111
++天道酬勤++


精华贴数 1
个人空间 0
技术积分 1898 (850)
社区积分 41 (5405)
注册日期 2007-8-24
论坛徽章:6
现任管理团队成员授权会员2008北京奥运纪念徽章:皮划艇激流回旋2008北京奥运纪念徽章:帆船2008年新春纪念徽章生肖徽章2007版:鼠
      

发表于 2007-10-25 19:53 
是否可以具体的解释一下吗?好东西不错啊!!!学习,如果楼上要是能够花时间解释一下那就更好了!!!


__________________
=========DBA格言================
从理论中来,到实践中去,再回到理论中。
不断的重复,不断的循环!!!
做人做事一定要厚道!!!
做DBA更应该厚道!!!
江湖越走越老,胆子越走越小!!!
***【技术讲究实践和理论】【玉雕讲究打磨和上色】***
***【做人讲究人品和魅力】【做事讲究方法和技巧】***
===============================
Oracle技术交流联盟:(MSN群)mgroup10396@hotmail.com
ALTIBASE技术交流联盟:(MSN群)group199500@xiaoi.com
ITPUB内存数据库版块:http://www.itpub.net/forum162.html
只看该作者    顶部
离线 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4778 (283)
社区积分 132 (2977)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-10-25 23:14 
举个例子:
create table t (c1 char(1));
一条记录在内存占用空间是24+2+1+5=32 byte


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
离线 m77m78
高级会员


精华贴数 1
个人空间 0
技术积分 3580 (410)
社区积分 532 (1356)
注册日期 2003-1-12
论坛徽章:15
ITPUB元老会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章行业板块每日发贴之星设计板块每日发贴之星
ERP板块每日发贴之星数据库板块每日发贴之星生肖徽章:蛇   

发表于 2007-10-30 16:53 
能详细的解释一下么


__________________
你的心胸有多大,你的舞台就有多大!
MSN:   m77m78@188.com
提问的智慧for oracle:  
1.尝试在google,论坛,metalink,online document里搜索。
2.写清楚你的执行log,报错信息,写清楚DB version , OS
3.Instance 方面的问题,请贴出alertlog
4.网络问题,贴出server 的listener.ora , sqlnet.ora 运行lsnrctl status , 贴出client 的 tnsnames.ora , sqlnet.ora ,运行tnsping
5.DB总体性能问题,请于peak time 做 statspack,上传statspack report。附上CPU/MEM配置,以及 CPU IDLE/free menory 的情况
6.SQL性能问题,列出当前SQL,以及执行计划。同时应提供表结构,index情况,Table的record数。CBO/RBO,table是否analyze等信息。
7.确保你的问题是Oracle相关。
只看该作者    顶部
离线 parade78
初级会员



精华贴数 0
个人空间 0
技术积分 2 (210297)
社区积分 0 (1232653)
注册日期 2006-12-30
论坛徽章:0
      
      

发表于 2007-12-2 19:22 
计算好像有问题?
24 + 4 + 128(2+实际长度) + 130(72+实际长度 ?) + 6 + 8 + 4 = 304 ==> O

72+实际长度 如何等于130,align size在哪?


只看该作者    顶部
离线 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4778 (283)
社区积分 132 (2977)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-12-3 11:27 


QUOTE:
原帖由 parade78 于 2007-12-2 19:22 发表
计算好像有问题?
24 + 4 + 128(2+实际长度) + 130(72+实际长度 ?) + 6 + 8 + 4 = 304 ==> O

72+实际长度 如何等于130,align size在哪?

130(72+实际长度 ?)   是2+128, align size  是2


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
离线 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4778 (283)
社区积分 132 (2977)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-12-3 11:31 
因为是字符长度与126差2个字符,可以这么算.


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问