Max row size for Sybase

Sybase 专栏收录该内容
1 篇文章 0 订阅

转自 adam3342 的博客  原文链接 http://blog.csdn.net/adam3342/article/details/6875190


数据库有max row sizex限制, 它的大小取决于 max page size, 而后者是在创建DB Server时指定的,它是Server-wide的,作用于DB Server下的所有数据库。 就Sybase 数据库而言, max row size 是1962byte, 而 max page size 是2048byte, 在Sybase version12 之前,max page size 只有2048byte 一种选择,而之后有了:2048    4096    8192    16384 四种选择,可以在创建DB Server 时指定,也可以之后通过Sybase Central 工具修改, 重启DB Server后生效, 而默认的为2048。 具体page size 与row size关系如下。

Table 8-4: Maximum sizefor variable-length columns in an APL table

Page size

Maximum row length

Maximum column length

2K (2048 bytes)

1962

1948

4K (4096 bytes)

4010

3988

8K (8192 bytes)

8096

8058

16K (16384 bytes)

16298

16228

需要注意的是,当更新表时(update/insert),如果所有字段的值的长度大于了max row size, 执行就会失败,且向前端抛异常如下:

com.sybase.jdbc2.jdbc.SybSQLException: Attempt to update or insert row failed because resultant row of size 2864 bytes is larger than the maximum size (1962 bytes) allowed for this table.

事实上,在创建存储过程时已有警告:

Warnings: --->

   W (1): Warning: Rowsize (2624 bytes) could exceed row size limit, which is 1962 bytes.

          <--- 

所以,如果遇到此警告,为避免今后数据库操作存在潜在问题,可以larger max page size或者优化sql 语句或表的结构,避免row size 大于 max row size。

更多的资料可以参考官方文档:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc20020_1251/html/databases/databases255.htm


此外,Sql Server数据库的max page size 要大些:8060byte。


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值