cxt442 发表于 2009-03-09 13:21

建表时,表大小超出页面2k大小,请问不改页面大小能建上这个表吗

我用的XP+SYBASE12.5,页面大小用的默认2k,现在建表时遇到问题,提示如下:
错误信息:
Creating table 'AAA' failed because the minimum row size would be 3623 bytes. This exceeds the maximum allowable size of a row for this table, 1962 bytes.
请问,如果我不改变页面大小,能建上这个表吗

D_D_D_D 发表于 2009-03-09 14:39

要先看看建表的sql了,一般会报错,但是表会建好,因为行不能跨页(text和image类型除外),所以行长度和页面大小有直接的关系

cxt442 发表于 2009-03-09 15:00

没用text和image类型的列,建表sql如下
Create Table TEST (
                TEST_LSBH          varchar(10)         not null,
                TEST_FLBH          varchar(10)         not null,
                TEST_QJDH          varchar(200)               null,
                TEST_QJLS          varchar(100)               null,
                TEST_QJFL          varchar(200)               null,
                TEST_GBDH          varchar(200)         not null,
                TEST_GBLS          varchar(100)         not null,
                TEST_CLBH          varchar(200)               null,
                TEST_PS            decimal(38,12)default 0       not null,
                TEST_SL            decimal(38,12)default 0       not null,
                TEST_JSSL          decimal(38,12)default 0       not null,
                TEST_DJ            decimal(38,12)default 0       not null,
                TEST_JE            decimal(38,12)default 0       not null,
                TEST_JSJE          decimal(38,12)default 0       not null,
                TEST_KPSL          decimal(38,12)default 0       not null,
                TEST_C1A         decimal(38,12)default 0       not null,
                TEST_C1B         decimal(38,12)default 0       not null,
                TEST_C2A         decimal(38,12)default 0       not null,
                TEST_C2B         decimal(38,12)default 0       not null,
                TEST_C3A         decimal(38,12)default 0       not null,
                TEST_C3B         decimal(38,12)default 0       not null,
                TEST_C4A         decimal(38,12)default 0       not null,
                TEST_C4B         decimal(38,12)default 0       not null,
                TEST_C5A         decimal(38,12)default 0       not null,
                TEST_C5B         decimal(38,12)default 0       not null,
                TEST_C6A         decimal(38,12)default 0       not null,
                TEST_C6B         decimal(38,12)default 0       not null,
                TEST_C7A         decimal(38,12)default 0       not null,
                TEST_C7B         decimal(38,12)default 0       not null,
                TEST_C8A         decimal(38,12)default 0       not null,
                TEST_C8B         decimal(38,12)default 0       not null,
                TEST_C9A         decimal(38,12)default 0       not null,
                TEST_C9B         decimal(38,12)default 0       not null,
                TEST_C10A          decimal(38,12)default 0       not null,
                TEST_C10B          decimal(38,12)default 0       not null,
                TEST_C11A          decimal(38,12)default 0       not null,
                TEST_C11B          decimal(38,12)default 0       not null,
                TEST_C12A          decimal(38,12)default 0       not null,
                TEST_C12B          decimal(38,12)default 0       not null,
                TEST_C13A          decimal(38,12)default 0       not null,
                TEST_C13B          decimal(38,12)default 0       not null,
                TEST_C14A          decimal(38,12)default 0       not null,
                TEST_C14B          decimal(38,12)default 0       not null,
                TEST_C15A          decimal(38,12)default 0       not null,
                TEST_C15B          decimal(38,12)default 0       not null,
                TEST_C16A          decimal(38,12)default 0       not null,
                TEST_C16B          decimal(38,12)default 0       not null,
                TEST_C17A          decimal(38,12)default 0       not null,
                TEST_C17B          decimal(38,12)default 0       not null,
                TEST_C18A          decimal(38,12)default 0       not null,
                TEST_C18B          decimal(38,12)default 0       not null,
                TEST_C19A          decimal(38,12)default 0       not null,
                TEST_C19B          decimal(38,12)default 0       not null,
                TEST_C20A          decimal(38,12)default 0       not null,
                TEST_C20B          decimal(38,12)default 0       not null,
                TEST_C21A          decimal(38,12)default 0       not null,
                TEST_C21B          decimal(38,12)default 0       not null,
                TEST_C22A          decimal(38,12)default 0       not null,
                TEST_C22B          decimal(38,12)default 0       not null,
                TEST_C23A          decimal(38,12)default 0       not null,
                TEST_C23B          decimal(38,12)default 0       not null,
                TEST_C24A          decimal(38,12)default 0       not null,
                TEST_C24B          decimal(38,12)default 0       not null,
                TEST_C25A          decimal(38,12)default 0       not null,
                TEST_C25B          decimal(38,12)default 0       not null,
                TEST_C26A          decimal(38,12)default 0       not null,
                TEST_C26B          decimal(38,12)default 0       not null,
                TEST_C27A          decimal(38,12)default 0       not null,
                TEST_C27B          decimal(38,12)default 0       not null,
                TEST_C28A          decimal(38,12)default 0       not null,
                TEST_C28B          decimal(38,12)default 0       not null,
                TEST_C29A          decimal(38,12)default 0       not null,
                TEST_C29B          decimal(38,12)default 0       not null,
                TEST_C30A          decimal(38,12)default 0       not null,
                TEST_C30B          decimal(38,12)default 0       not null,
                TEST_C31A          decimal(38,12)default 0       not null,
                TEST_C31B          decimal(38,12)default 0       not null,       
                TEST_C32A          decimal(38,12)default 0       not null,
                TEST_C32B          decimal(38,12)default 0       not null,       
                TEST_C33A          decimal(38,12)default 0       not null,
                TEST_C33B          decimal(38,12)default 0       not null,       
                TEST_C34A          decimal(38,12)default 0       not null,
                TEST_C34B          decimal(38,12)default 0       not null,       
                TEST_C35A          decimal(38,12)default 0       not null,
                TEST_C35B          decimal(38,12)default 0       not null,
                TEST_C36A          decimal(38,12)default 0       not null,
                TEST_C36B          decimal(38,12)default 0       not null,       
                TEST_C37A          decimal(38,12)default 0       not null,
                TEST_C37B          decimal(38,12)default 0       not null,       
                TEST_C38A          decimal(38,12)default 0       not null,
                TEST_C38B          decimal(38,12)default 0       not null,               
                TEST_C39A          decimal(38,12)default 0       not null,
                TEST_C39B          decimal(38,12)default 0       not null,               
                TEST_C40A          decimal(38,12)default 0       not null,
                TEST_C40B          decimal(38,12)default 0       not null,       
                TEST_C41A          decimal(38,12)default 0       not null,
                TEST_C41B          decimal(38,12)default 0       not null,
                TEST_C42A          decimal(38,12)default 0       not null,
                TEST_C42B          decimal(38,12)default 0       not null,                                                                                       
                TEST_C43A          decimal(38,12)default 0       not null,
                TEST_C43B          decimal(38,12)default 0       not null,                               
                TEST_C44A          decimal(38,12)default 0       not null,
                TEST_C44B          decimal(38,12)default 0       not null,                               
                TEST_C45A          decimal(38,12)default 0       not null,
                TEST_C45B          decimal(38,12)default 0       not null,                               
                TEST_C46A          decimal(38,12)default 0       not null,
                TEST_C46B          decimal(38,12)default 0       not null,                               
                TEST_C47A          decimal(38,12)default 0       not null,
                TEST_C47B          decimal(38,12)default 0       not null,                               
                TEST_C48A          decimal(38,12)default 0       not null,
                TEST_C48B          decimal(38,12)default 0       not null,                               
                TEST_C49A          decimal(38,12)default 0       not null,
                TEST_C49B          decimal(38,12)default 0       not null,                               
                TEST_C50A          decimal(38,12)default 0       not null,
                TEST_C50B          decimal(38,12)default 0       not null,                               
                TEST_C51A          decimal(38,12)default 0       not null,
                TEST_C51B          decimal(38,12)default 0       not null,                               
                TEST_C52A          decimal(38,12)default 0       not null,
                TEST_C52B          decimal(38,12)default 0       not null,                               
                TEST_C53A          decimal(38,12)default 0       not null,
                TEST_C53B          decimal(38,12)default 0       not null,                               
                TEST_C54A          decimal(38,12)default 0       not null,
                TEST_C54B          decimal(38,12)default 0       not null,                               
                TEST_C55A          decimal(38,12)default 0       not null,
                TEST_C55B          decimal(38,12)default 0       not null,                               
                TEST_C56A          decimal(38,12)default 0       not null,
                TEST_C56B          decimal(38,12)default 0       not null,                               
                TEST_C57A          decimal(38,12)default 0       not null,
                TEST_C57B          decimal(38,12)default 0       not null,                               
                TEST_C58A          decimal(38,12)default 0       not null,
                TEST_C58B          decimal(38,12)default 0       not null,                               
                TEST_C59A          decimal(38,12)default 0       not null,
                TEST_C59B          decimal(38,12)default 0       not null,                               
                TEST_C60A          decimal(38,12)default 0       not null,
                TEST_C60B          decimal(38,12)default 0       not null,       
                TEST_C61A          decimal(38,12)default 0       not null,
                TEST_C61B          decimal(38,12)default 0       not null,                                               
                TEST_C62A          decimal(38,12)default 0       not null,
                TEST_C62B          decimal(38,12)default 0       not null,                       
                TEST_C63A          decimal(38,12)default 0       not null,
                TEST_C63B          decimal(38,12)default 0       not null,                       
                TEST_C64A          decimal(38,12)default 0       not null,
                TEST_C64B          decimal(38,12)default 0       not null,                       
                TEST_C65A          decimal(38,12)default 0       not null,
                TEST_C65B          decimal(38,12)default 0       not null,                       
                TEST_C66A          decimal(38,12)default 0       not null,
                TEST_C66B          decimal(38,12)default 0       not null,                       
                TEST_C67A          decimal(38,12)default 0       not null,
                TEST_C67B          decimal(38,12)default 0       not null,                       
                TEST_C68A          decimal(38,12)default 0       not null,
                TEST_C68B          decimal(38,12)default 0       not null,                       
                TEST_C69A          decimal(38,12)default 0       not null,
                TEST_C69B          decimal(38,12)default 0       not null,                       
                TEST_C70A          decimal(38,12)default 0       not null,
                TEST_C70B          decimal(38,12)default 0       not null,
                TEST_C71A          decimal(38,12)default 0       not null,
                TEST_C71B          decimal(38,12)default 0       not null,                                       
                TEST_C72A          decimal(38,12)default 0       not null,
                TEST_C72B          decimal(38,12)default 0       not null,               
                TEST_C73A          decimal(38,12)default 0       not null,
                TEST_C73B          decimal(38,12)default 0       not null,               
                TEST_C74A          decimal(38,12)default 0       not null,
                TEST_C74B          decimal(38,12)default 0       not null,               
                TEST_C75A          decimal(38,12)default 0       not null,
                TEST_C75B          decimal(38,12)default 0       not null,               
                TEST_C76A          decimal(38,12)default 0       not null,
                TEST_C76B          decimal(38,12)default 0       not null,               
                TEST_C77A          decimal(38,12)default 0       not null,
                TEST_C77B          decimal(38,12)default 0       not null,               
                TEST_C78A          decimal(38,12)default 0       not null,
                TEST_C78B          decimal(38,12)default 0       not null,               
                TEST_C79A          decimal(38,12)default 0       not null,
                TEST_C79B          decimal(38,12)default 0       not null,               
                TEST_C80A          decimal(38,12)default 0       not null,
                TEST_C80B          decimal(38,12)default 0       not null,
                TEST_C81A          decimal(38,12)default 0       not null,
                TEST_C81B          decimal(38,12)default 0       not null,                               
                TEST_C82A          decimal(38,12)default 0       not null,
                TEST_C82B          decimal(38,12)default 0       not null,               
                TEST_C83A          decimal(38,12)default 0       not null,
                TEST_C83B          decimal(38,12)default 0       not null,               
                TEST_C84A          decimal(38,12)default 0       not null,
                TEST_C84B          decimal(38,12)default 0       not null,               
                TEST_C85A          decimal(38,12)default 0       not null,
                TEST_C85B          decimal(38,12)default 0       not null,               
                TEST_C86A          decimal(38,12)default 0       not null,
                TEST_C86B          decimal(38,12)default 0       not null,               
                TEST_C87A          decimal(38,12)default 0       not null,
                TEST_C87B          decimal(38,12)default 0       not null,               
                TEST_C88A          decimal(38,12)default 0       not null,
                TEST_C88B          decimal(38,12)default 0       not null,               
                TEST_C89A          decimal(38,12)default 0       not null,
                TEST_C89B          decimal(38,12)default 0       not null,               
                TEST_C90A          decimal(38,12)default 0       not null,
                TEST_C90B          decimal(38,12)default 0       not null,               
                TEST_C91A          decimal(38,12)default 0       not null,
                TEST_C91B          decimal(38,12)default 0       not null,       
                TEST_C92A          decimal(38,12)default 0       not null,
                TEST_C92B          decimal(38,12)default 0       not null,                                       
                TEST_C93A          decimal(38,12)default 0       not null,
                TEST_C93B          decimal(38,12)default 0       not null,                               
                TEST_C94A          decimal(38,12)default 0       not null,
                TEST_C94B          decimal(38,12)default 0       not null,                               
                TEST_C95A          decimal(38,12)default 0       not null,
                TEST_C95B          decimal(38,12)default 0       not null,                               
                TEST_C96A          decimal(38,12)default 0       not null,
                TEST_C96B          decimal(38,12)default 0       not null,                               
                TEST_C97A          decimal(38,12)default 0       not null,
                TEST_C97B          decimal(38,12)default 0       not null,                               
                TEST_C98A          decimal(38,12)default 0       not null,
                TEST_C98B          decimal(38,12)default 0       not null,                               
                TEST_C99A          decimal(38,12)default 0       not null,
                TEST_C99B          decimal(38,12)default 0       not null,                               
                TEST_C100A          decimal(38,12)default 0       not null,
                TEST_C100B          decimal(38,12)default 0       not null,                               
                TEST_C1            varchar(100)         null,
                TEST_C2            varchar(100)         null,
                TEST_C3            varchar(100)         null,
                TEST_C4            varchar(100)         null,
                TEST_C5            varchar(100)         null,
                TEST_C6            varchar(100)         null,
                TEST_C7            varchar(100)         null,
                TEST_C8            varchar(100)         null,
                TEST_C9            varchar(100)         null,
                TEST_C10         varchar(100)         null,
                TEST_U1            decimal(38,12) default 0      not null,
                TEST_U2            decimal(38,12) default 0      not null,
                TEST_U3            decimal(38,12) default 0      not null,
                TEST_U4            decimal(38,12) default 0      not null,
                TEST_U5            decimal(38,12) default 0      not null,
                TEST_U6            decimal(38,12) default 0      not null
)               
go

chenfeng825 发表于 2009-03-09 15:39

超过page size可以建,只是真实数据插入会导致问题。但从这个表结构看,很是感兴趣这个表为什么要这么设计

D_D_D_D 发表于 2009-03-09 17:10

Creating table 'AAA' failed because the minimum row size would be 3623 bytes. This exceeds the maximum allowabl ...

不过根据这个报错里的“because the minimum row size would be 3623 bytes”,应该是建不起来了

D_D_D_D 发表于 2009-03-09 17:14

因为最小的行都是3623bytes,比2k页面可用的1962要大

[ 本帖最后由 D_D_D_D 于 2009-3-10 09:18 编辑 ]

tyrone.dev 发表于 2009-03-09 17:35

改页面大小吧。

cxt442 发表于 2009-03-09 17:41

原帖由 chenfeng825 于 2009-3-9 15:39 发表 http://bbs3.chinaunix.net/images/common/back.gif
超过page size可以建,只是真实数据插入会导致问题。但从这个表结构看,很是感兴趣这个表为什么要这么设计
我也没辙,设计人员说业务需要,必须用这么多列,我也搞不定了,重新建了4k的服务也不能用,就只好笨法子,卸载了数据库,重新装了一遍
请问这种情况下怎么能建上这个表,建表时能指定页面大小吗,不管设计了,先学点基础的数据库知识,请指教

D_D_D_D 发表于 2009-03-09 23:59

sybase不像oracle那么灵活,可以指定不同的大小的“块”、“页面”

只能是建个服务,初始的时候就指定8k以上页面,不过16k有点太浪费空间了,正好我机器上有个8k页面的试验环境,建了一下,倒是没有任何报错。

其实可以把这张表拆成2个或3个,真的要查询的时候就从视图来....

chenfeng825 发表于 2009-03-10 08:42

回复 #8 cxt442 的帖子

Sorry,希望没有误导你!没看仔细,2K确实会不能成功,4K应该可以建立成功了而且应该还是小于你的表宽度。8K D_D_D_D已经测试完全没有问题。
即使是8K可以完全插入一行,性能也不会高,几乎是一页一行了。

这个表如果不是某种非常特殊类型,例如工控设备等之类的话,实在看不出这样有什么好处。从范式角度看,甚至是零范式。
这种结构除非不打算进行计算或者某些计算都是极其稳定且很少类型的话,真的问题会很多。
页: [1] 2
查看完整版本: 建表时,表大小超出页面2k大小,请问不改页面大小能建上这个表吗