美文网首页
第五十八章 学习常用技能 - 查看查询缓存

第五十八章 学习常用技能 - 查看查询缓存

作者: Cache技术分享 | 来源:发表于2023-10-15 07:47 被阅读0次

    [toc]

    第五十八章 学习常用技能 - 查看查询缓存

    查看查询缓存

    对于 SQL(用作嵌入式 SQL 时除外),系统会生成可重用代码来访问数据,并将该代码放置在查询缓存中。 (对于嵌入式 SQL,系统也会生成可重用代码,但这包含在生成的 INT 代码中。)

    当首次执行 SQL 语句时,IRIS 会优化查询,然后生成并存储检索数据的代码。它将代码以及优化的查询文本存储在查询缓存中。请注意,此缓存是 OBJ 代码的缓存,而不是数据的缓存。

    稍后,当执行 SQL 语句时, IRIS 会对其进行优化,然后将该查询的文本与查询缓存中的项目进行比较。如果 IRIS 找到与给定查询匹配的存储查询(除了空格等细微差别),它会使用为该查询存储的代码。

    管理门户按架构对查询缓存中的项目进行分组。要查看给定架构的查询缓存,请在管理门户中执行以下操作:

    1. 选择系统资源管理器 > SQL
    2. 如果需要,请选择标题区域中的“切换”以选择感兴趣的命名空间。
    3. 展开缓存查询文件夹。
    4. 选择架构行中的表 ulink
    5. 在页面顶部,选择缓存查询。

    门户显示如下:

    image.png

    列表中的每一项都是 OBJ 代码。

    默认情况下,IRIS 不会将其生成的例程和 INT 代码保存为该 OBJ 代码的前体。也可以强制 InterSystems IRIS 保存此生成的代码。请参阅 InterSystems SQL 设置。

    可以清除缓存的查询(这会强制 IRIS 重新生成此代码)。要清除缓存的查询,请使用操作 > 清除缓存的查询。

    image.png

    建立索引

    对于 IRIS 类,索引不需要任何维护,但有一个例外:如果在已存储该类记录后添加索引,则必须构建该索引。

    1. 选择系统资源管理器 > SQL。
    2. 如果需要,请选择标题区域中的“切换”以选择您感兴趣的命名空间。
    3. 在左侧区域中,选择表。
    4. 选择操作 > 重建索引。

    使用调谐表工具

    当查询优化器决定执行特定 SQL 查询的最有效方法时,除其他因素外,它还会考虑以下各项:

    • 表中有多少条记录
    • 对于查询使用的列,这些列的唯一性有多接近

    仅当使用给定的一个或多个表运行调整表工具时,此信息才可用。此工具计算此数据并将其与类的存储定义一起存储,作为类的 <ExtentSize> 值和存储属性的<Selectivity>值。

    要使用调谐表功能:

    1. 选择系统资源管理器 > SQL。
    2. 如果需要,请选择标题区域中的“切换”以选择感兴趣的命名空间。
    3. 在左侧区域中,选择表。
    4. 选择操作 > 调整表。

    对于 <Selectivity> 值,无需再次执行此操作,除非数据字符发生变化。对于 <ExtentSize>,是否有确切的数字并不重要。该值用于比较扫描不同表的相对成本;最重要的是确保表之间的 ExtentSize 相对值正确(即小表应设置较小的值,大表应设置较大的值)。

    相关文章

      网友评论

          本文标题:第五十八章 学习常用技能 - 查看查询缓存

          本文链接:https://www.haomeiwen.com/subject/cmktidtx.html