文章
姚 鑫 · 六月 9, 2021 阅读大约需 6 分钟
第二章 从对象写入XML输出

第二章 从对象写入XML输出

本章介绍如何从InterSystems IRIS对象生成XML输出。

创建XML编写器概述

InterSystems IRIS提供了用于为InterSystems IRIS对象生成XML输出的工具。可以指定XML投影的详细信息,如将对象投影到XML中所述。然后创建一个Writer方法,该方法指定XML输出的整体结构:字符编码、对象的显示顺序、是否包括处理指令等。

基本要求如下:

  • 如果需要特定对象的输出,则该对象的类定义必须扩展%XML.Adaptor。除了少数例外,该对象引用的类还必须扩展%XML.Adaptor

  • 输出方法必须创建%XML.Writer的实例,然后使用该实例的方法。

下面的终端会话显示了一个简单的示例,在该示例中,我们访问启用了XML的对象并为其生成输出:

1 0
1 44
文章
Michael Lei · 三月 23, 2021 阅读大约需 1 分钟
为什么要进行自动化机器学习?

AI届的没有免费午餐(No Free Lunch)理论:如果平均到所有问题的话,所有算法是等价的。换句话说,没有单一的“最优”算法。(详细概念请自行搜索)

所以需要对任何特定数据集/问题测试很多不同算法,没有办法能够提前知道哪种算法是最优的。

因此,自动化机器学习帮助用户用多种自动化的用多种主流算法来进行测试,用户能从中选出最优的结果。

0 0
0 43
文章
姚 鑫 · 四月 12, 2021 阅读大约需 3 分钟
第一章 SQL性能优化简介

第一章 SQL性能优化简介

InterSystems SQL支持几个特性来优化InterSystems IRIS®数据平台的SQL性能。

表定义优化

SQL性能从根本上取决于良好的数据架构。
将数据划分为多个表并在这些表之间建立关系对于高效的SQL是必不可少的。

描述了以下优化表定义的操作。
这些操作要求定义表,但不要求用数据填充表:

0 0
0 43
文章
Jingwei Wang · 七月 29, 2022 阅读大约需 33 分钟
InterSystems SQL 的优化 - 第一部分 - 定义和构建索引

什么时候使用索引

索引提供了一种机制,通过维护常用数据的分类子集来优化查询。确定哪些字段应该被编入索引需要一些思考:太少或错误的索引,关键查询会运行得太慢;太多的索引会减慢INSERT和UPDATE的性能(因为索引值必须被设置或更新)。

索引什么

为了确定添加索引是否能提高查询性能,从管理门户的SQL界面运行查询,并在Performance中注意 global引用的数量。添加索引,然后重新运行查询,注意 global引用的数量。一个有用的索引应该减少 global引用的数量。你可以通过使用%NOINDEX关键字作为WHERE子句或ON子句条件的前言来阻止索引的使用。

你应该对JOIN中指定的字段(属性)进行索引。例如,LEFT OUTER JOIN从左表开始,然后查看右表,因此,你应该对右表的字段进行索引。在下面的例子中,你应该为T2.f2编制索引。一个INNER JOIN应该在两个ON子句字段上都有索引。

1 0
0 43
文章
Claire Zheng · 四月 7, 2022 阅读大约需 6 分钟
谈谈InterSystems IRIS数据平台的部署灵活性与TCO降低

众所周知,InterSystems IRIS的产品设计理念源于互操作性(Interoperable)、稳定性(Reliable)、直观(Intuitive)、可扩展性(Scalable),在云时代,InterSystems IRIS的云上操作与本地一样便捷,令用户体验有了明显提升,除此之外,为了更高效地对InterSystems IRIS进行配置,我们还提供了哪些新特性?为了便捷地进行数据迁移,InterSystems IRIS最新版本提供了哪些解决方案?

0 0
0 42
文章
姚 鑫 · 四月 15, 2021 阅读大约需 10 分钟
第二章 定义和构建索引(三)

#

第二章 定义和构建索引(三)

# 位图索引

位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。

位图索引具有以下重要功能:

  • 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。
  • 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。
  • 位图上的逻辑操作(countingANDOR)经过优化以获得高性能。
  • SQL引擎包括许多可以利用位图索引的特殊优化。

位图索引的创建取决于表的唯一标识字段的性质:

0 0
0 42
文章
姚 鑫 · 六月 20, 2021 阅读大约需 5 分钟
第十三章 将XML文档表示为DOM

第十三章 将XML文档表示为DOM

%XML.Document类和%XML.Node类使可以将任意XML文档表示为DOM(文档对象模型)。然后,可以导航此对象并对其进行修改。还可以创建一个新的DOM并将其添加到其中。

注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码,InterSystems IRIS将使用本书前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。

将XML文档作为DOM打开

要打开现有XML文档以用作DOM,请执行以下操作:

  1. 创建%XML.Reader的实例。
  2. 也可以指定此实例的Format属性,以指定要导入的文件的格式。

默认情况下, IRIS假定XML文件为文字格式。如果文件是SOAP编码格式,则必须指明这一点,以便可以正确读取该文件。

0 0
0 42
文章
姚 鑫 · 五月 13, 2021 阅读大约需 4 分钟
第五章 管理全局变量(二)

第五章 管理全局变量(二)

在全局变量中查找值

“查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。

要访问和使用此页,请执行以下操作:

  1. 显示“全局变量”页。
  2. 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。
  3. 单击查找按钮。
  4. 对于查找内容,输入要搜索的字符串。
  5. (可选)清除大小写匹配。默认情况下,搜索区分大小写。
  6. 单击Find First或Find All。

然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。

  1. 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。
  2. 完成后,单击关闭窗口。

执行批量更换

注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。

0 0
0 42
文章
Michael Lei · 一月 17 阅读大约需 3 分钟
ZPM 简单实现实战宝典

ZPM 设计用于与 InterSystems IRIS 数据平台的应用程序和模块一起使用。 它由两个组件组成:ZPN 客户端(用于管理模块的 CLI)和注册表(模块和元信息的数据库)。 我们可以使用 ZPM 来搜索、安装、升级、移除和发布模块。 使用 ZPM,可以安装 ObjectScript 类、前端应用程序、互操作性生产环境、IRIS BI 解决方案、IRIS 数据集或任何文件,例如嵌入式 Python wheel。

今天的这份实战宝典将分为 3 个部分:

  1. 安装 ZPM
  2. 生成模块
  3. 在注册表中查找、安装、发布模块
1 0
0 42

你好

如何在VS Code中查看已编译类的.int代码?

我正在尝试使用gj :: Locate,并且安装程序可以正常运行,说明一切都很好,但是当我将错误日志中的错误粘贴到gj :: locate时,它首先告诉我找不到.cls,何时显示。我在文本框中粘贴.int引用,您可以在其中指定类,方法,行+偏移量,它会回复它找不到该项目。

这与Objectscript扩展而不是gj :: locate有关

奈杰尔

Viewing .int code of Compiled classes in VS Code

Hi

How do I view the .int code of a compiled class in VS Code?

0 0
0 42
文章
姚 鑫 · 五月 9, 2021 阅读大约需 6 分钟
第四章 多维存储的SQL和对象使用(一)

第四章 多维存储的SQL和对象使用(一)

本章介绍InterSystems IRIS®对象和SQL引擎如何利用多维存储(全局变量)来存储持久对象、关系表和索引。

尽管InterSystems IRIS对象和SQL引擎会自动提供和管理数据存储结构,但了解其工作原理的详细信息还是很有用的。

数据的对象视图和关系视图使用的存储结构是相同的。为简单起见,本章仅从对象角度介绍存储。

数据

每个使用%Storage.Persistent存储类(默认)的持久化类都可以使用多维存储(全局变量)的一个或多个节点在InterSystems IRIS数据库中存储其自身的实例。

每个持久化类都有一个存储定义,用于定义其属性如何存储在全局变量节点中。这个存储定义(称为“默认结构”)由类编译器自动管理。

0 0
0 41
文章
姚 鑫 · 六月 17, 2021 阅读大约需 5 分钟
第十章 XML元素和属性

第十章 XML元素和属性

检查必需的元素和属性

默认情况下,next()方法不检查是否存在与标记为必需的属性相对应的元素和属性。要使读取器检查此类元素和属性是否存在,请在调用Next()之前将读取器的CheckRequired属性设置为1。出于兼容性原因,此属性的默认值为0。

如果将CheckRequired设置为1,并且调用next(),而导入的XML缺少必需的元素或属性,则next()方法会将sc参数设置为错误代码。例如:

0 0
0 41
文章
姚 鑫 · 二月 5, 2021 阅读大约需 4 分钟
第二十五章 Caché 变量大全 $ZB 变量

第二十五章 Caché 变量大全 $ZB 变量

包含当前I / O设备的状态信息。

大纲

$ZB

描述

$ZB包含读取操作后特定于当前I / O设备的状态信息

  • 从终端,顺序文件或其他基于字符的I / O设备读取时,$ZB包含读取操作的终止字符。它可以是终止符(例如),如果读取操作不需要终止符,则可以是输入数据的最后一个字符;如果需要终止符但未收到终止符,则可以是空字符串(例如,如果读取操作超时)。
  • 从磁带等基于块的I / O设备读取数据时,$ZB包含I / O缓冲区中剩余的字节数。写入磁带时,$ZB还包含I / O缓冲区中的字节数。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

0 0
0 41
文章
姚 鑫 · 五月 14, 2021 阅读大约需 3 分钟
第六章 临时全局变量和IRISTEMP数据库

第六章 临时全局变量和IRISTEMP数据库

对于某些操作,可能需要全局变量的功能,而不需要无限期保存数据。例如,可能希望使用全局对某些不需要存储到磁盘的数据进行排序。对于这些操作,InterSystems IRIS提供了临时全局机制。该机制的工作方式如下:

  • 对于应用程序名称空间,可以定义一个全局映射,以便将具有特定命名约定的全局变量映射到IRISTEMP数据库,该数据库是一个特殊的数据库,如下所述。

例如,可以定义一个全局映射,以便将名称为^AcmeTemp*的所有全局变量映射到IRISTEMP数据库。
- 当代码需要临时存储数据并再次读取它时,代码将向使用该命名约定的全局变量写入数据,并从全局变量读取数据。

例如,要保存值,代码可能会执行以下操作:

 set ^AcmeTempOrderApp("sortedarray")=some value

然后,稍后代码可能会执行以下操作:

0 0
0 41
文章
姚 鑫 · 六月 1, 2021 阅读大约需 3 分钟
第十三章 使用SSH

第十三章 使用SSH

%Net.SSH软件包支持SSH(安全外壳)通信。本主题简要介绍此包中的类。

创建SSH会话

%Net.SSH.Session表示SSH会话。要使用此类,请执行以下操作:

  1. 创建类的实例。
  2. 使用Connect()实例方法连接到服务器。
  3. 使用AuthenticateWithKeyPair()AuthenticateWithUsername()向服务器验证身份。
  4. 使用%Net.SSH.Session的其他方法执行进出远程系统的单个文件的SCP(安全复制)操作、执行远程命令、传输TCP通信或执行SFTP操作。

例如,使用SFTP将会话用于SFTP操作。此方法通过引用返回可用于SFTP操作的%Net.SSH.SFTP实例。

0 0
0 41
文章
姚 鑫 · 二月 6, 2021 阅读大约需 2 分钟
第二十六章 Caché 变量大全 $ZCHILD 变量

第二十六章 Caché 变量大全 $ZCHILD 变量

当前进程的包含最后一个子进程的ID。

DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB()

DHC-APP>w $zchild
16636
DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB()

DHC-APP>w $zchild
5412

image

大纲

$ZCHILD
$ZC 

描述

$ZCHILD包含当前进程使用JOB命令创建的最后一个子进程的ID。如果进程没有使用JOB创建子进程,则$ZCHILD返回0(零)。

0 0
0 41
文章
姚 鑫 · 二月 23, 2021 阅读大约需 3 分钟
第四十五章 Caché 变量大全 $ZVERSION 变量

第四十五章 Caché 变量大全 $ZVERSION 变量

包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。

大纲

$ZVERSION 
$ZV

描述

$ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。

以下示例返回$ZVERSION字符串:

0 0
0 41
文章
姚 鑫 · 五月 7, 2021 阅读大约需 7 分钟
第三章 使用多维存储(全局变量)(三)

第三章 使用多维存储(全局变量)(三)

在全局变量中复制数据

若要将全局变量(全部或部分)的内容复制到另一个全局变量(或局部数组)中,请使用ObjectScript Merge命令。

下面的示例演示如何使用Merge命令将OldData全局变量的全部内容复制到NewData全局变量中:

 Merge ^NewData = ^OldData

如果合并命令的source参数有下标,则复制该节点及其后代中的所有数据。如果Destination参数有下标,则使用目标地址作为顶级节点复制数据。例如,以下代码:

 Merge ^NewData(1,2) = ^OldData(5,6,7)

^OldData(5,6,7)及其下的所有数据复制到^NewData(1,2)

0 0
0 40