代码之家  ›  专栏  ›  技术社区  ›  ninesided

如何在T-SQL中最小化表的辅助扫描描述符的数量?

  •  0
  • ninesided  · 技术社区  · 17 年前

    我最近看到旧式系统上的存储过程偶尔出现问题,该系统会显示如下错误消息:

    此查询需要 X 辅助扫描 只有 Y 可获得的要么提高 “辅助扫描描述符的数量” 稍后再查询。

    哪里 略低于 Y

    2 回复  |  直到 17 年前
        1
  •  2
  •   user3378 user3378    17 年前

    您没有说明您使用的是哪个版本的Sybase,但以下内容适用于ASE 12.5及以后的版本。

    我怀疑是新索引的添加导致该存储过程的查询计划失败。你试过跑步吗

    update statistics *table_name*
    

    在上面?如果失败,您可以通过运行

    sp_monitorconfig "aux scan descriptors"
    

    然后通过跑步来增加这一点

    sp_configure "aux scan descriptors", x
    

    其中x是所需的扫描描述符数量。

    here 你必须

    重写查询,或使用临时表将其分解为多个步骤。对于只有数据锁定的表,如果有许多表扫描,请考虑添加索引。

    但如果没有查询计划,就不可能给出更具体的建议。

        2
  •  1
  •   ninesided    10 年前

    this list . 它被修补为12.5.3及以上。

    推荐文章