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

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

作者: 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 相对值正确(即小表应设置较小的值,大表应设置较大的值)。

相关文章

  • Mysql查询优化

    查询缓存 1.可以使用如下的语句来判断MySQL是否开启了查询缓存功能: 2.如果想查看MySQL是否是读取的缓存...

  • 29.Spring Cache

    常用注解 @EnableCaching 开启缓存注解 @Cacheable 在方法执行前spring先查看缓存是否...

  • mysql 常用语句

    常用查询 desc table_name //查看表结构select * from table_name //查询...

  • Java - 内存框架设计与实现

    一、使用缓存 对缓存的常用操作描述 查询时,先读取缓存,如果缓存中没有数据,则触发真正的数据获取,如果缓存中有数据...

  • PM2 常用命令及问题

    PM2缓存引起问题,清理缓存 清理完可以正常使用 查看日志 常用命令

  • MyBatis的一级缓存、二级缓存演示以及讲解,序列化异常的处理

    MyBatis的缓存机制 缓存就是内存中的一个空间,通常用来提高查询效率 MyBatis支持两种缓存技术:一级缓存...

  • Gradle命令

    1、Gradle 查询命令 1)、查看主要任务 2)、查看所有任务,包括缓存任务等等 2、Gradle 执行命令 ...

  • fsLayui缓存使用

    概述 缓存主要使用在编辑或查看页面查询数据的方式,通过后端servlet接口获取数据还是通过前端缓存获取。缓存可以...

  • 缓存穿透

    1 缓存穿透,DB压力增大 常用的k-v型缓存,当查询一个key而缓存中没有value时,就会去databas...

  • Mybatis基础 -- 缓存

    一、Mybatis 缓存的概念 缓存就是内存中的数据,常常用来对数据库查询结果的保存,使用缓存,我们可以避免频繁地...

网友评论

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

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