Caché SQL 高性能优化
文章平均质量分 93
yaoxin521123
创造价值,分享学习,一起成长,相伴前行。
展开
-
Caché SQL 高性能优化
Caché SQL 高性能优化第一章 SQL性能优化简介第二章 定义和构建索引(一)第二章 定义和构建索引(二)第二章 定义和构建索引(三)第二章 定义和构建索引(四)第二章 定义和构建索引(五)第三章 优化表(一)第三章 优化表(二)第四章 缓存查询(一)第四章 缓存查询(二)第五章 优化查询性能(一)第五章 优化查询性能(二)第五章 优化查询性能(三)第五章 优化查询性能(四)第六章 SQL性能分析工具包第七章 解释SQL查询计划第八章 解释SQL查询计划(一)第八.原创 2021-05-02 08:34:40 · 960 阅读 · 0 评论 -
第八章 解释SQL查询计划(二)
文章目录 第八章 解释SQL查询计划(二)SQL语句的详细信息声明的细节部分性能统计数据编译设置部分例程和关系部分查询SQL语句导出和导入SQL语句导出SQL语句导入SQL语句查看和清除后台任务 第八章 解释SQL查询计划(二)SQL语句的详细信息有两种方式显示SQL语句的详细信息:在SQL Statements选项卡中,通过单击左侧列中的Table/View/Procedure Name链接选择一个SQL Statement。这将在单独的选项卡中显示SQL语句详细信息。该界面允许打开多个选项原创 2021-05-01 09:11:08 · 576 阅读 · 1 评论 -
第九章 冻结计划
文章目录 第九章 冻结计划如何使用冷冻计划软件版本升级自动冻结计划冻结计划界面权限冻结计划不同手动冻结计划检查日冻结计划自动检查冻结计划出错%NOFPLAN关键字导出和导入冻结计划 第九章 冻结计划大多数SQL语句都有一个关联的查询计划。查询计划是在准备SQL语句时创建的。默认情况下,添加索引和重新编译类等操作会清除此查询计划。下次调用查询时,将重新准备查询并创建新的查询计划。冻结计划使可以跨编译保留(冻结)现有查询计划。查询执行使用冻结的计划,而不是执行新的优化并生成新的查询计划。对系统软件的更改也原创 2021-04-30 08:10:52 · 441 阅读 · 0 评论 -
第八章 解释SQL查询计划(一)
文章目录 第八章 解释SQL查询计划(一)SQL语句创建SQL语句操作其他SQL语句操作List SQL语句列表列计划状态SQL语句文本陈旧的SQL语句数据管理(DML)SQL语句select命令 第八章 解释SQL查询计划(一)SQL语句这个SQL语句列表为每个表提供了SQL查询和其他操作的记录,包括插入、更新和删除。这些SQL语句链接到一个查询计划,该链接提供冻结该查询计划的选项。系统为每个SQL DML操作创建一条SQL语句。这提供了一个按表、视图或过程名称列出的SQL操作列表。如果更改原创 2021-04-29 08:11:49 · 530 阅读 · 0 评论 -
第七章 解释SQL查询计划
文章目录 第七章 解释SQL查询计划存储在映射中的表发展计划阅读计划访问映射条件和表达式循环临时文件定义使用模块发送给处理的查询子查询、连接和联合计划分析添加一个索引添加字段到索引数据添加连接索引 第七章 解释SQL查询计划本章介绍由ShowPlan生成的InterSystems SQL查询访问计划中使用的语言和术语。存储在映射中的表SQL表存储为一组映射。每个表都有一个包含表中所有数据的主映射;表还可以有其他的映射,如索引映射和位图。每个映射可以被描绘成一个多维全局,其中一些字段的数据在一个原创 2021-04-28 08:02:38 · 494 阅读 · 0 评论 -
第六章 SQL性能分析工具包
文章目录 第六章 SQL性能分析工具包分析工具界面使用性能分析工具包方法激活统计信息收集操作选项收集选项终止选项获取统计信息设置导出查询性能统计信息统计值删除查询性能统计信息性能统计示例 第六章 SQL性能分析工具包本章介绍可用于主动分析特定SQL语句的分析工具。这些工具收集有关这些SQL语句执行的详细信息。使用这些信息,开发人员可以采取措施提高低效SQL语句的性能。根据请求的详细程度,此活动分析可能会显著增加服务器上的负载。因此,SQL性能分析工具包旨在进行协调一致的代码分析工作。它不是用来连续监视原创 2021-04-27 09:48:00 · 396 阅读 · 0 评论 -
第五章 优化查询性能(四)
文章目录 第五章 优化查询性能(四)注释选项语法显示并行查询处理系统范围的并行查询处理针对特定查询的并行查询处理`%PARALLEL`的子查询并行查询处理被忽略共享内存的考虑缓存查询注意事项SQL语句和计划状态生成报告 第五章 优化查询性能(四)注释选项可以在SELECT、INSERT、UPDATE、DELETE或TRUNCATE表命令中为查询优化器指定一个或多个注释选项。注释选项指定查询优化器在编译SQL查询期间使用的选项。通常,注释选项用于覆盖特定查询的系统范围默认配置。语法语法/*#OP原创 2021-04-26 07:18:17 · 430 阅读 · 0 评论 -
第五章 优化查询性能(三)
文章目录 第五章 优化查询性能(三)查询执行计划使用`Explain()`方法使用显示计划从InterSystems SQL工具执行计划:语句文本和查询计划交替显示计划Stats将查询优化计划写入文件 第五章 优化查询性能(三)查询执行计划可以使用解释或显示计划工具来显示SELECT、DECLARE、UPDATE、DELETE、TRUNCATE TABLE和一些INSERT操作的执行计划。这些操作统称为查询操作,因为它们使用SELECT查询作为其执行的一部分。InterSystems IRIS在准备查原创 2021-04-25 07:22:00 · 401 阅读 · 0 评论 -
第五章 优化查询性能(二)
文章目录 第五章 优化查询性能(二)使用索引什么索引索引配置选项索引使用情况分析索引分析SQL语句计数报告选项IndexUsage()方法索引优化选项 第五章 优化查询性能(二)使用索引索引通过维护常见请求数据的排序子集,提供了一种优化查询的机制。确定哪些字段应该被索引需要一些思考:太少或错误的索引和关键查询将运行太慢;太多的索引会降低插入和更新性能(因为必须设置或更新索引值)。什么索引要确定添加索引是否会提高查询性能,请从管理门户SQL接口运行查询,并在性能中注意全局引用的数量。添加索引,原创 2021-04-24 08:56:50 · 425 阅读 · 0 评论 -
第五章 优化查询性能(一)
文章目录 第五章 优化查询性能(一)管理门户SQL性能工具SQL运行时统计信息使用SQL运行时统计信息工具Settings查询测试查看统计信息清除统计信息按钮运行时统计信息和显示计划 第五章 优化查询性能(一)InterSystems SQL自动使用查询优化器创建在大多数情况下提供最佳查询性能的查询计划。该优化器在许多方面提高了查询性能,包括确定要使用哪些索引、确定多个AND条件的求值顺序、在执行多个联接时确定表的顺序,以及许多其他优化操作。可以在查询的FROM子句中向此优化器提供“提示”。本章介绍可用原创 2021-04-23 07:57:15 · 553 阅读 · 0 评论 -
第四章 缓存查询(二)
文章目录 第四章 缓存查询(二)运行时计划选择激活RTPC应用RTPCOverriding RTPC缓存查询结果集List缓存查询计算缓存查询显示缓存的查询使用^rINDEXSQL列出缓存查询将缓存查询导出到文件执行缓存查询缓存查询锁清除缓存的查询远程系统没有缓存的SQL命令 第四章 缓存查询(二)运行时计划选择运行时计划选择(RTPC)是一个配置选项,它允许SQL优化器利用运行时(查询执行时)的离群值信息。运行时计划选择是系统范围的SQL配置选项。当RTPC被激活时,准备查询包括检测查询是否包含具原创 2021-04-22 07:54:33 · 426 阅读 · 0 评论 -
第四章 缓存查询(一)
文章目录 第四章 缓存查询(一)缓存查询提高了性能创建缓存查询动态SQL的缓存查询名称嵌入式SQL的缓存查询名称单独的缓存查询文字替换DynamicSQLTypeList Comment Option文字替换和性能取消文字替换共分注释选项 第四章 缓存查询(一)系统自动维护已准备好的SQL语句(“查询”)的缓存。这允许重新执行SQL查询,而无需重复优化查询和开发查询计划的开销。缓存查询是在准备某些SQL语句时创建的。准备查询发生在运行时,而不是在编译包含SQL查询代码的例程时。通常,PREPARE紧跟在原创 2021-04-21 08:21:28 · 546 阅读 · 1 评论 -
第三章 优化表(二)
文章目录 第三章 优化表(二)调整表计算值区段大小和行计数选择性和异常值选择性CALCSELECTIVITY参数与不计算选择性离群值的优化“备注”列平均字段大小map BlockCount选项卡导出和重新导入调优表统计信息 第三章 优化表(二)调整表计算值调优表操作根据表中的代表性数据计算和设置表统计信息:ExtentSize,它可能是表中的实际行数(行数),也可能不是。表中每个属性(字段)的选择性。可以选择性地阻止单个属性的选择性计算。属性的离群选择性,其中一个值比其他值出现得更普遍。有原创 2021-04-20 07:51:56 · 405 阅读 · 0 评论 -
第三章 优化表(一)
文章目录 第三章 优化表(一)扩展大小、选择性和块数(ExtentSize, Selectivity, and BlockCount)ExtentSizeSelectivityBlockCountTune Table何时运行调优表运行 Tune Table从管理门户调优表使用方法调整表在分片表上运行Tune table 第三章 优化表(一)要确保InterSystems IRIS®Data Platform上的InterSystems SQL表的最高性能,可以执行多种操作。优化可以对针对该表运行的任何查原创 2021-04-19 09:51:41 · 534 阅读 · 0 评论 -
第二章 定义和构建索引(五)
文章目录 第二章 定义和构建索引(五)验证索引列表索引Open、Existes和Delete方法按索引键打开实例检查实例是否存在删除实例 第二章 定义和构建索引(五)验证索引可以使用以下任一方法验证索引$SYSTEM.OBJ.ValidateIndices()验证表的索引,还验证该表的集合子表中的任何索引。%Library.Storage.%ValidateIndices()验证表的索引。集合子表索引必须使用单独的%ValidateIndices()调用进行验证。这两种方法都会检查指定表的一原创 2021-04-18 10:40:14 · 368 阅读 · 0 评论 -
第二章 定义和构建索引(四)
文章目录 第二章 定义和构建索引(四)位片索引重建索引在非活动系统上构建索引使用管理门户构建索引以编程方式构建索引在活动系统上构建索引在Readonly主动系统上构建索引在读写活动系统上构建索引 第二章 定义和构建索引(四)位片索引当数字数据字段用于某些数值运算时,位片索引用于该字段。位片索引将每个数值数据值表示为二进制位串。位片索引不是使用布尔标志来索引数值数据值(如在位图索引中那样),而是以二进制值表示每个值,并为二进制值中的每个数字创建一个位图,以记录哪些行的该二进制数字具有1。这是一种高度专门原创 2021-04-17 09:47:20 · 454 阅读 · 0 评论 -
第二章 定义和构建索引(三)
文章目录 第二章 定义和构建索引(三)位图索引位图索引操作使用类定义定义IdKey位图索引使用类定义定义`%BID`位图索引使用DDL定义位图索引生成位图范围索引选择索引类型位图索引的限制应用程序逻辑限制维护位图索引位图块的SQL操作%CHUNK函数%BITPOS函数%BITMAP聚合函数%BITMAPCHUNK聚合函数%SETINCHUNK谓词条件 第二章 定义和构建索引(三)位图索引位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。位图索引具有以下重要功能:原创 2021-04-16 09:37:15 · 500 阅读 · 0 评论 -
第二章 定义和构建索引(二)
文章目录 第二章 定义和构建索引(一)定义索引使用带有索引的Unique、PrimaryKey和IdKey关键字定义SQL搜索索引用索引存储数据索引null索引集合使用(Elements)和(Key)索引数据类型属性将数组(元素)上的索引投影到子表类中定义的索引注释使用DDL定义索引 第二章 定义和构建索引(一)定义索引使用带有索引的Unique、PrimaryKey和IdKey关键字与典型的SQL一样,InterSystems IRIS支持惟一键和主键的概念。InterSystems IRIS还原创 2021-04-15 07:51:06 · 579 阅读 · 0 评论 -
第二章 定义和构建索引(一)
文章目录 第二章 定义和构建索引(一)概述索引属性存储类型和索引索引全局名称Master Map自动定义的索引位图范围索引定义索引使用类定义定义索引可以建立索引的属性多个属性的索引索引排序 第二章 定义和构建索引(一)概述索引是由持久类维护的结构,InterSystems IRIS®数据平台可以使用它来优化查询和其他操作。可以在表中的字段值或类中的相应属性上定义索引。(还可以在多个字段/属性的组合值上定义索引。)。无论是使用SQL字段和表语法还是类属性语法定义相同的索引,都会创建相同的索引。当定义了原创 2021-04-14 07:26:13 · 901 阅读 · 0 评论 -
第一章 SQL性能优化简介
文章目录 第一章 SQL性能优化简介表定义优化表数据优化查询优化配置优化分片快速命令 第一章 SQL性能优化简介InterSystems SQL支持几个特性来优化InterSystems IRIS®数据平台的SQL性能。表定义优化SQL性能从根本上取决于良好的数据架构。将数据划分为多个表并在这些表之间建立关系对于高效的SQL是必不可少的。描述了以下优化表定义的操作。这些操作要求定义表,但不要求用数据填充表:数据存储策略:可以选择使用%Storage.Persistent、%Storage.原创 2021-04-13 09:34:33 · 593 阅读 · 0 评论