文章 姚 鑫 · 四月 15, 2021 阅读大约需 10 分钟 第二章 定义和构建索引(三) # 第二章 定义和构建索引(三) # 位图索引 位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。 位图索引具有以下重要功能: 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。 位图上的逻辑操作(counting、AND和OR)经过优化以获得高性能。 SQL引擎包括许多可以利用位图索引的特殊优化。 位图索引的创建取决于表的唯一标识字段的性质: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 63
问题 Michael Lei · 四月 21, 2021 来自海外社区的问题: 在Linux上停止Caché DB时出现错误消息 你好, 我有redhat 8.3,在安装Caché之后,一切正常,当我通过/ usr / cachesys / cstop停止数据库时,我得到: #Caché 0 0 0 61
文章 姚 鑫 · 四月 24, 2021 阅读大约需 12 分钟 第五章 优化查询性能(三) 第五章 优化查询性能(三) 查询执行计划 可以使用解释或显示计划工具来显示SELECT、DECLARE、UPDATE、DELETE、TRUNCATE TABLE和一些INSERT操作的执行计划。这些操作统称为查询操作,因为它们使用SELECT查询作为其执行的一部分。InterSystems IRIS在准备查询操作时生成执行计划;不必实际执行查询来生成执行计划。 默认情况下,这些工具显示InterSystems IRIS认为的最佳查询计划。对于大多数查询,有多个可能的查询计划。除了InterSystems IRIS认为最佳的查询计划外,还可以生成和显示备用查询执行计划。 #SQL #Caché 0 0 0 80
文章 姚 鑫 · 四月 28, 2021 阅读大约需 11 分钟 第八章 解释SQL查询计划(一) 第八章 解释SQL查询计划(一) SQL语句 这个SQL语句列表为每个表提供了SQL查询和其他操作的记录,包括插入、更新和删除。 这些SQL语句链接到一个查询计划,该链接提供冻结该查询计划的选项。 系统为每个SQL DML操作创建一条SQL语句。 这提供了一个按表、视图或过程名称列出的SQL操作列表。 如果更改表定义,可以使用此SQL Statements列表来确定每个SQL操作的查询计划是否会受到此DDL更改的影响,以及/或是否需要修改某个SQL操作。 然后,可以: 确定每个SQL操作使用哪个查询计划。 可以决定使用反映对表定义所做更改的修改后的查询计划。 或者可以冻结当前查询计划,保留在更改表定义之前生成的查询计划。 根据对表定义所做的更改,确定是否对对该表执行SQL操作的例程进行代码更改。 注意:SQL语句是一个SQL例程列表,它们可能会受到表定义更改的影响。 它不应该用作表定义或表数据更改的历史记录。 创建SQL语句操作 下面的SQL操作会创建相应的SQL语句: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 83
文章 Michael Lei · 五月 17, 2021 阅读大约需 2 分钟 iris-fhir-portal 概述 我创建了 iris-fhir-portal 来参加当前竞赛 InterSystems IRIS for Health FHIR,本篇快速概述旨在介绍我的应用程序提供的功能。 iris-fhir-portal 的目标是说明使用 IRIS for Health 中的 FHIR 功能创建患者图表并让用户拥有自己的数据有多么简单。 #FHIR #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 89
公告 Claire Zheng · 五月 8, 2021 InterSystems开发者竞赛: FHIR加速器 亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 🏆 InterSystems 编程大赛:FHIR 加速器 🏆 提交在AWS上使用InterSystems的IRIS FHIR-as-a-service的应用程序,或帮助使用InterSystems IRIS FHIR加速器开发的解决方案。点击这篇文章,了解如何在AWS上申请应用InterSystems IRIS FHIR 加速器服务 (FHIRaaS) 。 时间:2021年5月10日-6月6日 奖金总额: $8,750 👉 点击登录活动页面 👈 #FHIR #活动 #竞赛 #InterSystems IRIS for Health #IRIS竞赛 #Open Exchange 0 0 0 118
文章 姚 鑫 · 五月 14, 2021 阅读大约需 2 分钟 Caché Global Caché Global 第一章 简介global☆☆☆☆☆ 第二章 全局变量结构(一)☆☆☆☆☆ 第二章 全局变量结构(二)☆☆☆☆☆ 第三章 使用多维存储(全局变量)(一)☆☆☆☆☆ 第三章 使用多维存储(全局变量)(二)☆☆☆☆☆ #SQL #Caché #Global Masters #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 157
文章 Nicky Zhu · 五月 20, 2021 阅读大约需 7 分钟 互操作消息统一管理系列:SearchTable加速检索 在上一篇文章《互操作消息统一管理系列:Message Bank》中,我们了解到在Message Bank中,消息均以半结构化(XML)或非结构化(Stream)的形式保存,因此无法与客户端的结构化消息一样,直接支持基于索引的检索。为此,需要在Message Bank中定义Search Table以支持查询。关于Search Table的定义和作用,请查阅https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI...。 #API #InterSystems 业务解决方案和架构 #互操作性 #企业消息库 #消息搜索 #监视 #系统管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 143
文章 姚 鑫 · 五月 31, 2021 阅读大约需 4 分钟 第十二章 IBM WebSphere MQ检索邮件 第十二章 IBM WebSphere MQ检索邮件 检索邮件 要检索邮件,请执行以下操作: 按照“创建连接对象”中的说明创建连接对象。在这种情况下,请创建%Net.MQRecv的实例。Connection对象有一个消息队列,可以从中检索消息。 根据需要调用以下方法: - %Get()-通过引用返回字符串消息作为第一个参数。 - %GetStream()-给定初始化的文件字符流,此方法从队列中检索消息,并将其放入与该流关联的文件中。请注意,必须设置流的Filename属性才能对其进行初始化。不支持二进制流。 #FTP #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 105
文章 Michael Lei · 六月 23, 2021 阅读大约需 15 分钟 最低限度的监控和警报解决方案 InterSystems 数据平台包括了用于系统监视和警报的实用程序及工具,但对于不熟悉构建于 InterSystems 数据平台(又名 Caché)的解决方案的系统管理员来说,他们需要知道从何处下手以及需要配置什么。 本指南以在线文档和开发者社区帖子为参考,介绍了实现最低限度的监视和警报解决方案的途径,以及如何启用和配置以下组件: #InterSystems 业务解决方案和架构 #新手 #系统管理 #Caché 0 0 0 176
文章 姚 鑫 · 六月 12, 2021 阅读大约需 6 分钟 第五章 生成XML元素 第五章 生成XML元素 生成XML元素 如果使用RootElement()启动文档的根元素,则负责生成该根元素内的每个元素。有三个选择: 将对象生成为元素 可以从InterSystems IRIS对象生成输出作为元素。在本例中,使用object()方法,该方法写入支持XML的对象。输出包括该对象中包含的所有对象引用。可以指定此元素的名称,也可以使用在对象中定义的默认值。 只能在RootElement()和EndRootElement()方法之间使用object()方法。 此示例为给定启用XML的类的所有已保存实例生成输出: #Caché #InterSystems IRIS 0 0 0 87
文章 jieliang liu · 六月 30, 2021 阅读大约需 2 分钟 如何在InterSystems开发者社区学习?第一部分:玩转“关注” 嗨,开发者们! 在这篇文章中,我们想告诉你如何充分利用开发者社区,从InterSystems的技术专家那里学到尽可能多的东西! 请注意这些步骤,以成为我们社区的高级用户! #开发者社区常见问题 #开发者社区官方 0 0 0 170
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第7讲 数据类型 - 对象 //player.bilibili.com/player.html?aid=804002494&bvid=BV18y4y1K7Y7&cid=365370599&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 77
文章 姚 鑫 · 七月 14, 2021 阅读大约需 5 分钟 第三章 处理文件和目录名 第三章 处理文件和目录名 %Library.File类提供了几个可用于处理文件名和目录名的类方法。在大多数情况下,文件和目录不需要存在即可使用这些方法。 获取文件名和目录名 %Library.File类提供可用于获取部分文件名和目录名的类方法。 在给定完整路径名的情况下,使用GetDirectory()和GetFilename()分别获取目录和短文件名。对于此方法,不允许使用部分目录名。 DHC-APP>set filename = "e:\temp\config.txt" DHC-APP>write ##class(%File).GetDirectory(filename) E:\temp\ DHC-APP>write ##class(%File).GetFilename(filename) config.txt 在给定文件名的情况下,使用CanonicalFilename()从根目录获取完整路径: #Caché 0 0 0 67
文章 姚 鑫 · 七月 26, 2021 阅读大约需 3 分钟 类关键字NoExtent,OdbcType,Owner,ProcedureBlock # <center> 第二十五章 类关键字 - NoExtent 指定是否阻止编译器为此类生成继承类(如果不这样做的话)。 # 用法 要防止编译器为此类生成继承类,请使用以下语法: ```Class MyApp.MyClass [ NoExtent ] { //class members }``` 否则,省略此关键字或将单词`Not`放在关键字的前面。 # 详解 如果该关键字为真,则该类没有 `extent`。不能创建此类的实例。通常,这样的类会扩展或覆盖从`%Library.Persistent`继承的标准持久接口。 # 对子类的影响 此关键字不是继承的。 # 默认 如果省略此关键字,类可以有一个`extent`。 # <center> 第二十六章 类关键字 - OdbcType 指定通过`ODBC`或`JDBC`公开此数据类型时使用的类型。每个数据类型类都必须指定一个`ODBC`类型。此关键字仅适用于数据类型类。 # 用法 #Caché 0 0 0 82
文章 姚 鑫 · 八月 3, 2021 阅读大约需 3 分钟 索引关键字Unique,Abstract,ClientName,CodeMode 第五十七章 索引关键字 - Unique 指定索引是否应强制唯一性。 用法 要指定IRIS应强制此索引所基于的属性具有唯一性,请使用以下语法: Index name On property_expression_list [ Unique ]; 否则,请省略此关键字或将该词放在该关键字之前。 详情 如果存在UNIQUE关键字,则表示这是唯一索引。 由唯一索引索引的属性(或多个属性)被约束为在定义索引的类(表)的范围(所有对象的集合)内具有唯一值(即,没有两个实例可以具有相同的排序值)。 唯一索引不能也是位图索引。 示例 Index SSNIdx On SSN [ Unique ] ; 默认 如果省略此关键字,IRIS不会强制此索引所基于的属性具有唯一性。 第五十八章 方法关键字 - Abstract 指定这是否是抽象方法。 #Caché 0 0 0 64
文章 Lele Yang · 八月 31, 2021 阅读大约需 3 分钟 FAQ 常见问题系列--系统管理篇 磁盘空间不足造成系统宕机——切忌手动删除Journal文件! 1 磁盘空间不足的常见情形1)Journal所在磁盘空间不足。造成这种情况的原因有多种,比如,Mirror中备机未处于宕机状态,因此主机保留了Journal文件。2)数据库所在磁盘空间不足。比如,集成平台上Ensemble/Health Connect/IRIS for Health的消息从未清除过,导致消息数据库DAT文件不断增大,直至将磁盘空间用尽。 我们可以看到以上两种情形下,Mirror都帮不上忙,也就是说一旦问题出现,主机和备机都没有办法立即承担起业务系统的运行,第1)种,备机可能在故障出现前就已经宕机很长一段时间而没被发现,备机的数据很可能已经与主机严重不一致。实际上,主机之所以保留了大量的journal文件没有删除,就是为了让备机同步数据时使用。第2)种,虽然配置了Mirror,但是消息主库正常情况下都是镜像库,在一个健康的Mirror中,备机和主机的镜像库数据保持同步,镜像库大小应当是相同的,假设主备机的硬件配置相同(这也是我们推荐的方式)那么磁盘空间不足在备机上同样存在。 #系统警报和监视(SAM) #监视 5 0 0 184
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第23讲 JOB命令 //player.bilibili.com/player.html?aid=932680893&bvid=BV1jM4y157Rn&cid=398232413&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 72
文章 姚 鑫 · 九月 8, 2021 阅读大约需 7 分钟 第十章 SQL命令 CREATE PROCEDURE(一) 第十章 SQL命令 CREATE PROCEDURE(一) 创建作为SQL存储过程公开的方法或查询。 #SQL #Caché 0 0 0 73
文章 姚 鑫 · 九月 22, 2021 阅读大约需 3 分钟 第二十三章 SQL命令 CREATE USER 第二十三章 SQL命令 CREATE USER 创建用户帐户。 大纲 CREATE USER user-name IDENTIFY BY password CREATE USER user-name IDENTIFIED BY password 参数 user-name - 要创建的用户的名称。名称是最多128个字符的标识符。它可以包含Unicode字母。用户名不区分大小写。 password - 此用户的密码。密码必须至少为3个字符,并且不能超过32个字符。密码区分大小写。密码可以包含Unicode字符。 描述 CREATE USER命令使用指定的密码创建用户帐户。 #SQL #Caché 0 0 0 71
文章 姚 鑫 · 九月 29, 2021 阅读大约需 9 分钟 第二十九章 SQL命令 DISTINCT 第二十九章 SQL命令 DISTINCT 指定仅返回不同值的SELECT子句。 大纲 SELECT [DISTINCT [BY (item {,item2})] ] | [ALL] select-item {,select-item2} 参数 DISTINCT - 可选-返回组合选择项值唯一的行。 DISTINCT BY (item {,item2}) - 可选-返回按(项)值唯一的行的选择项值。 ALL - 可选-返回结果集中的所有行。默认设置。 描述 可选DISTINCT子句出现在SELECT关键字之后、可选TOP子句和第一个SELECT-ITEM之前。 #SQL #Caché 0 0 0 383
文章 姚 鑫 · 十月 10, 2021 阅读大约需 3 分钟 第四十一章 SQL命令 DROP VIEW 第四十一章 SQL命令 DROP VIEW 删除视图 大纲 DROP VIEW view-name [CASCADE | RESTRICT] 参数 view-name 要删除的视图的名称。 视图名可以是限定的(schema.viewname),也可以是非限定的(viewname)。 非限定视图名接受默认模式名。 CASCADE RESTRICT - 可选-指定CASCADE关键字以删除引用view-name的任何其他视图。如果有另一个视图引用view-name,则指定RESTRITE将发出SQLCODE-321错误。默认值为限制。 描述 DROP VIEW命令删除视图,但不删除基础表或数据。 #SQL #Caché 0 0 0 81
文章 姚 鑫 · 十月 19, 2021 阅读大约需 5 分钟 第五十章 SQL命令 HAVING(一) 第五十章 SQL命令 HAVING(一) 对一组数据值指定一个或多个限制性条件的SELECT子句。 大纲 SELECT field FROM table GROUP BY field HAVING condition-expression SELECT aggregatefunc(field %AFTERHAVING) FROM table [GROUP BY field] HAVING condition-expression 参数 condition-expression - 由一个或多个布尔谓词组成的表达式,用于控制要检索哪些数据值。 描述 可选的HAVING子句出现在FROM子句、可选的WHERE和GROUP BY子句之后,可选的ORDER BY子句之前。 #SQL #Caché 0 0 0 49
文章 姚 鑫 · 十月 29, 2021 阅读大约需 5 分钟 第六十章 SQL命令 JOIN(二) 第六十章 SQL命令 JOIN(二) 单向外部联接 IRIS支持单向外部联接:左外部联接和右外部联接。 使用标准的“inner”联接时,当一个表的行链接到第二个表的行时,第一个表中找不到第二个表中对应行的行将从输出表中排除。 使用单向外联接时,即使第二个表中没有匹配项,第一个表中的所有行也会包括在输出表中。使用单向外连接,第一个表会从第二个表中取出相关信息,但不会因为第二个表中缺少匹配项而牺牲自己的行。 例如,如果查询首先列出Table1并创建一个左外部联接,那么它应该能够看到Table1中的所有行,即使它们在Table2中没有对应的记录。 #SQL #Caché 0 0 0 39
文章 Hao Ma · 十一月 2, 2021 阅读大约需 16 分钟 IRIS 2021 技术文档 First Look 28 - InterSystems 公钥基础设施 (PKI) 本文档介绍了 InterSystems 公钥基础设施(PKI),它可以在开发组织的安全策略中发挥重要作用。它提供有关公钥加密、证书颁发机构和 PKI 的信息。然后介绍一些与使用 InterSystems PKI 相关的初始任务。完成本指南后,您将有能力创建一个证书颁发机构 (CA),然后向 CA 客户端请求并接收证书。 虽然 InterSystems PKI 不用于生产系统,但您可以用它来熟悉 PKI 工具和安全基础设施。作为设计和探索过程的一部分,这对于创建全面的安全方法特别有帮助。本指南使用 InterSystems IRIS®数据平台的默认设置,这使您能够熟悉 PKI 的基本原理,而不必处理其他在执行实现时很重要的细节问题。有关数据库加密的完整文档,请参见 The InterSystems Public Key Infrastructure(《 InterSystems 公钥基础设施》)。要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。 #InterSystems IRIS for Health 0 0 0 133
公告 Claire Zheng · 十一月 11, 2021 InterSystems开发者竞赛:安全 亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 🏆 InterSystems开发者竞赛:安全 🏆 竞赛时间: 2021年11月15日-12月5日 奖金总额: $9,450! #安全 #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 #Open Exchange #开发者社区官方 0 0 0 76
文章 姚 鑫 · 十一月 20, 2021 阅读大约需 8 分钟 第八十二章 SQL命令 UPDATE(一) 第八十二章 SQL命令 UPDATE(一) 为指定表中的指定列设置新值。 #SQL #Caché 0 0 0 64
文章 姚 鑫 · 十一月 28, 2021 阅读大约需 2 分钟 第九十章 SQL命令 WHERE CURRENT OF 第九十章 SQL命令 WHERE CURRENT OF 使用游标指定当前行的UPDATE/DELETE子句。 大纲 WHERE CURRENT OF cursor 参数 cursor - 指定在光标的当前位置执行操作,光标是指向表的光标。 描述 WHERE CURRENT OF子句可用于基于游标的嵌入式SQL UPDATE或DELETE语句,以指定位于要更新或删除记录上的游标。 例如: &sql(DELETE FROM Sample.Employees WHERE CURRENT OF EmployeeCursor) 删除最后一个FETCH命令从“EmployeeCursor”游标获得的行。 #SQL #Caché 0 0 0 43
文章 姚 鑫 · 十二月 11, 2021 阅读大约需 2 分钟 第十二章 SQL谓词 %INSET 第十二章 SQL谓词 %INSET 将一个值匹配到一组生成的值。 #SQL #Caché 0 0 0 66
文章 姚 鑫 · 十二月 19, 2021 阅读大约需 5 分钟 第二十章 SQL谓词 %STARTSWITH(二) 第二十章 SQL谓词 %STARTSWITH(二) 首尾空格 在大多数情况下,%STARTSWITH将前导空格视为与任何其他字符相同的字符。 例如,%STARTSWITH ' B'可用于选择只有一个前导空白后跟字母B的字段值。然而,只包含空白的子字符串不能选择前导空白; 它选择非空值。 尾随空格的%STARTSWITH行为取决于数据类型和排序规则类型。 %STARTSWITH忽略定义为SQLUPPER的字符串子串的尾随空格。 %STARTSWITH不会忽略数字、日期或列表子字符串中的尾随空格。 在下面的示例中,%STARTSWITH将结果集限制为以“M”开头的名称。 因为Name是一个SQLUPPER字符串数据类型,子字符串的末尾空格将被忽略: #SQL #Caché 0 0 0 29