【问题标题】:Sybase: how in/off row LOB impact blockingSybase:行内/行外 LOB 如何影响阻塞
【发布时间】:2018-11-28 17:32:23
【问题描述】:

在我们的 sybase ASE 15.7 db 中,我们有一个包含 4 列的表

uid int
id varchar 32
version varchar 32
xml text

uid 和 id 上的两个索引;数据行锁定; ~130 行数据

我们还有 2k 页大小; xml 长度最小 1012/最大 5176/avr 1837。目前它不在行 LOB

问题是有时简单的插入需要大约 10-15 秒,我很难理解为什么。

  1. 谁能给出任何理论?
  2. 行内 LOB 有帮助吗?大概有 2000 的大小?
  3. 一般来说行内/行外如何影响锁定?

【问题讨论】:

    标签: locking sybase sap-ase clob lob


    【解决方案1】:

    我会说您需要对其进行测试,这听起来很明显,但它是进行此类更改的关键。文本列的问题在于,实际上您在表的末尾有一堆数据,这可能是争用和阻塞的焦点。

    也就是说,在您的特定示例中,您的平均行大小非常​​接近 Sybase 服务器页面大小的最大大小(1962 字节)。您不能在 2k 页面服务器上将其设置为 2000,因为它大于您的页面大小(以字节为单位)。

    实际上,您必须将其设置为 1894,这是您的最大行大小减去其他列,但这可能有点接近最大值,因此这取决于您的 ID 和版本列的完整程度。

    您也没有指定正在使用什么类型的索引,即集群或非集群,因为如果它们是非集群的,它仍然是一个堆表,并且可能会受到最后一页链争用的影响。您也没有量化表的行数或任何其他关于为什么您的插入太慢的信息,即事务量等,因此请考虑将此信息添加到您的帖子中,例如查询计划等,或者 ID 是否是连续的插入热点等。

    行内 LOB 可以很好地处理正确的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多