全部时间
文章
· 九月 1, 2022 阅读大约需 5 分钟
第十九章 维护本地数据库(四)

第十九章 维护本地数据库(四)

压缩数据库中的全局变量

管理数据库空间的另一种方法是使用 ^DATABASE 例程压缩数据库中的全局变量。压缩全局变量将全局数据合并到更少的块中,从而增加数据库中的可用空间量。

在创建和更新全局变量时 IRIS 通常以将全局块填充到大约 70% 容量的方式分配数据。 (完全按整理顺序增长的全局可能会分配到接近 90%。)通常,允许 IRIS 自动管理全局块密度就足够了。然而,一些不连续的数据删除模式可能会显着降低平均全局块密度。

注意:要逐个全局地查看数据库中全局块的当前密度,可以运行完整性检查、并检查每个全局的数据级别输出。

压缩全局变量时,指定所需的全局块密度(默认为 90%),操作会尝试通过合并数据来尽可能接近此值——例如,将分布在三个块中的全局数据重新排列为两个。通常(但并非总是),压缩全局变量会显着增加数据库中可用的可用空间。 (如果指定的目标密度低于数据库当前的全局块密度,则数据库的大小不会增加。)

要压缩数据库中的全局变量,请使用以下过程:

0 0
0 101
InterSystems 开发者社区汇聚了 21,210 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 五月 5, 2022 阅读大约需 3 分钟
第133章 SQL函数 STRING

第133章 SQL函数 STRING

将表达式转换并连接成字符串的函数。

大纲

STRING(string1[,string2][,...][,stringN])

参数

  • string - 表达式,可以是字段名称、字符串文字、数字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。如果指定了字段名称,则使用逻辑值。

描述

STRING 将一个或多个字符串转换为 STRING 格式,然后将这些字符串连接成一个字符串。不执行大小写转换。

STRING 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。

0 0
0 101

各位开发者们好,

欢迎在我们的 Bilibili 频道观看新视频:

//player.bilibili.com/player.html?aid=425518605&bvid=BV1h3411J7hC&cid=573953217&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 101
文章
· 一月 22, 2022 阅读大约需 8 分钟
第三十一章 SQL函数 CONVERT

第三十一章 SQL函数 CONVERT

将给定表达式转换为指定数据类型的函数。

CONVERT(datatype,expression[,format-code])

{fn CONVERT(expression,datatype)}

参数

  • expression - 要转换的表达式。
  • datatype - 要将表达式转换为的数据类型。
  • format - 可选-指定日期和时间格式的整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。
    此参数仅用于通用标量语法形式。

描述

这里描述了CONVERT函数的两种不同实现。
两者都将一种数据类型中的表达式转换为另一种数据类型中的相应值。
两者都执行日期和时间转换。

0 0
0 101
文章
· 十二月 7, 2021 阅读大约需 4 分钟
第八章 SQL谓词 FOR SOME

第八章 SQL谓词 FOR SOME

确定是否根据字段值的条件测试返回记录。

大纲

FOR SOME (table [AS t-alias]) (fieldcondition)

参数

  • table - Table可以是单个表,也可以是用逗号分隔的表列表。
    括号是必须的。
  • AS t-alias - 可选-前一个表名的别名。
    别名必须是有效的标识符;
    它可以是一个分隔符。

  • fieldcondition - fieldcondition 指定一个或多个引用一个或多个字段的条件表达式。
    字段条件用括号括起来。
    可以使用AND(&)OR(!)逻辑操作符在字段条件中指定多个条件表达式。

0 0
0 101
文章
· 九月 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命令使用指定的密码创建用户帐户。

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

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

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

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

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

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

 set ^AcmeTempOrderApp("sortedarray")=some value

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

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

#

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

# 位图索引

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

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

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

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

0 0
0 101
文章
· 三月 20, 2024 阅读大约需 2 分钟
IRIS/Caché SQL优化经验分享 - 复合索引的使用

复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。

为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了:

下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。

mysql
CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z);

其实这相当于建立了三个索引,分别是:

0 0
0 100

InterSystems 支持的硬件OS平台更新 2023年2季度

我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架列表最近和即将发生的变化的问题。此更新旨在分享最近的更改以及我们对即将发生的更改的已知的情况,但预测未来是一项棘手的工作,不应将其视为承诺的路线图。

话虽如此,关于更新……

0 0
0 100

第五十二章 管理镜像 - 使用^DATABASE例程重新创建现有镜像数据库

使用^DATABASE例程重新创建现有镜像数据库

^DATABASE 例程的 10) Recreate a database 选项使可以在不更改数据库名称或大小的情况下清除现有数据库中的数据。 (有关例程的信息,请参阅 ^DATABASE。)可以将此选项用于镜像数据库,但必须在出现数据库的每个镜像成员上使用它,并且顺序与使用创建数据库选项的顺序相同创建一个新的镜像数据库——首先在主数据库上,然后是备份数据库,然后是数据库作为镜像一部分的任何异步数据库。

注意:如果使用 10) 重新创建数据库选项在主数据库上重新创建数据库,则必须对备份和镜像中的任何 DR 异步操作重复该操作;如果不这样做,数据库可能会在发生故障转移或灾难恢复时变得过时。强烈建议也对报告异步重复重新创建操作。

0 0
0 100
文章
· 一月 17, 2023 阅读大约需 3 分钟
HTAP 数据平台插入和查询速度测试

每秒插入大量记录,同时同步进行实时查询的能力称为混合事务分析处理 (HTAP)。 它也被称为 Transactional analytics 或 Transanalytics 或 Translytics,当存在来自工业物联网传感器的持续实时数据流或股票市场的波动数据时,它是非常有用的技术,并且允许实时或接近实时地查询这些数据集。

在本文中我将分享我在不同平台上运行带有测试流数据的演示,同时进行持续插入和持续查询,看看每个平台上有何不同反应,如在每个平台上输入和输出数据的速度以及它们的性能。 我在本演示中试验的平台包括:InterSystems IRIS、MariaDB 和 MySQL。

试验结果

20秒的测试时间里:

0 0
0 100
文章
· 一月 13, 2023 阅读大约需 1 分钟
【GS22 视频】医疗IT行业趋势观察与解读

在InterSystems 2022年全球峰会上,InterSystems HealthShare 产品管理总监 Jonathan Teich 及其团队解读了医疗与医疗IT行业的趋势,并分享了HealthShare的最新产品策略与路线图,演示了一些易用且具有前瞻性的功能和用例。

//player.bilibili.com/player.html?aid=307662651&bvid=BV1ZA411Z7SS&cid=962795136&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 100
文章
· 十月 5, 2022 阅读大约需 3 分钟
第七章 CSP 架构 - URL 的 Web 服务器配置

第七章 CSP 架构 - URL 的 Web 服务器配置

URLWeb 服务器配置

提供了一个默认的 /csp 虚拟目录来运行 CSP 应用程序。如果正在运行多个 Caché 实例,它还提供了一个默认虚拟目录 /cacheinstance/csp 以供使用。如果正在运行多个 Caché 实例并使用虚拟目录 /csp访问 CSP 应用程序,而之前没有 /cacheinstance,它将访问最后安装的 Caché 版本。如果计划允许使用以 http://localhost/csp 或 http//localhost/cacheinstance/csp 开头的应用程序路径调用所有 CSP 应用程序,则无需在 Web 服务器中进行任何更改配置。

2 0
0 100
文章
· 九月 2, 2022 阅读大约需 1 分钟
‘已放弃’ 的消息状态 - 集成平台

当使用集成平台传递异步消息时,在消息查看器查看消息状态的时候会出现 ‘已放弃’(Discarded) 的消息状态。

‘已放弃’ 的消息状态出现主要有以下原因:

  • 当响应的消息在响应请求超时后才到达你要发送的目的地,这条消息就成为了 ’已放弃‘ 的消息。
  • 因某种原因,消息无法交付,手动将消息标记为 ‘已放弃’。
  • 异步传递的消息,无需等待返回消息,这时如果配置了返回消息,这条消息也会成为 ’已放弃‘ 的消息。

注意:被标记为 ‘已放弃’的消息任然会被永久储存,只有但你明确删除它们时,消息才会被删除

0 0
0 100

下面是一个ObjectScript片段,它允许为InterSystems IRIS创建数据库、命名空间和Web应用程序:

    set currentNS = $namespace

    zn "%SYS"

    write "Create DB ...",!
    set dbName="testDB"
    set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
    set status=##Class(Config.Databases).Create(dbName,.dbProperties)
    write:'status $system.Status.DisplayError(status)
    write "DB """_dbName_""" was created!",!!


    write "Create namespace ...",!
    set nsName="testNS"
    //DB for globals
    set nsProperties("Globals") = dbName
    //DB for routines
    set nsProperties("Routines") = dbName
    set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
    write:'status $system.Status.DisplayError(status)
    write "Namespace """_nsName_""" was created!",!!


    write "Create web application ...",!
    set webName = "/csp/testApplication"
    set webProperties("NameSpace") = nsName
    set webProperties("Enabled") = $$$YES
    set webProperties("IsNameSpaceDefault") = $$$YES
    set webProperties("CSPZENEnabled") = $$$YES
    set webProperties("DeepSeeEnabled") = $$$YES
    set webProperties("AutheEnabled") = $$$AutheCache
    set status = ##class(Security.Applications).Create(webName, .webProperties)
    write:'status $system.Status.DisplayError(status)
    write "Web application """webName""" was created!",!

    zn currentNS

1 0
0 100
文章
· 六月 24, 2022 阅读大约需 4 分钟
第九章 设置结构化日志记录(一)

第九章 设置结构化日志记录(一)

IRIS 支持结构化日志记录。

创建多个日志,每个日志用于不同的目的。从以前的产品迁移过来的客户可以像过去一样利用这些日志,但现在还可以将所有日志信息导入一个单一的、中央的、机器可读的日志文件——结构化日志。然后可以将此文件与第三方分析工具一起使用。

本文概述了结构化日志中的信息,展示了日志示例,并描述了如何启用结构化日志记录。

结构化日志中可用的信息

当启用结构化日志记录时,系统会将相同的数据写入结构化日志,它也会写入其他日志(无论哪个)。例如,系统将相同的行写入messages.log 和结构化日志。

启用结构化日志记录后,结构化日志包含以下所有信息:

0 0
0 100
文章
· 四月 11, 2022 阅读大约需 2 分钟
第109章 SQL函数 POSITION

第109章 SQL函数 POSITION

返回子字符串在字符串中的位置的字符串函数。

大纲

POSITION(substring IN string)

参数

  • substring - 要搜索的子字符串。
    它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHARVARCHAR2)。
  • IN string - 要在其中搜索子字符串的字符串表达式。

POSITION返回INTEGER数据类型。

0 0
0 100
文章
· 九月 17, 2021 阅读大约需 9 分钟
第十八章 SQL命令 CREATE TABLE(五)

第十八章 SQL命令 CREATE TABLE(五)

定义外键

外键是引用另一个表的字段;存储在外键字段中的值是唯一标识另一个表中的记录的值。此引用的最简单形式如下例所示,其中外键显式引用Customers表中的主键字段CustID

CREATE TABLE Orders (
   OrderID INT UNIQUE NOT NULL,
   OrderItem VARCHAR,
   OrderQuantity INT,
   CustomerNum INT,
   CONSTRAINT OrdersPK PRIMARY KEY (OrderID),
   CONSTRAINT CustomersFK FOREIGN KEY (CustomerNum) REFERENCES Customers (CustID)
   )

最常见的情况是,外键引用另一个表的主键字段。但是,外键可以引用RowID(ID)或标识列。在任何情况下,外键引用都必须存在于被引用的表中,并且必须定义为唯一的;被引用的字段不能包含重复值或NULL

0 0
0 100
文章
· 七月 23, 2021 阅读大约需 3 分钟
类关键字ClientDataType,ClientName,CompileAfter,DdlAllowed

# <center> 第十三章 类关键字 - ClientDataType

指定将此数据类型投影到客户端技术时使用的客户端数据类型。仅适用于数据类型类。

# 用法

要指定将此数据类型投影到客户端技术时要使用的客户端数据类型,请使用以下语法:
```java
Class MyApp.MyString [ ClientDataType = clienttype ]
{ //class members }
```

其中clienttype是下列之一:

0 0
0 100
文章
· 七月 8, 2021 阅读大约需 2 分钟
第三十一章 检查命名空间和类

第三十一章 检查命名空间和类

%XML.Namespaces提供了两个类方法,可用于检查XML命名空间及其包含的类:

GetNextClass()

classmethod GetNextClass(namespace As %String, 
            class As %String) as %String

返回给定XML命名空间中给定类之后的下一个类(按字母顺序)。当没有更多的类时,此方法返回NULL

GetNextNamespace()

classmethod GetNextNamespace(namespace As %String) as %String

返回给定命名空间之后的下一个命名空间(按字母顺序)。当没有更多的命名空间时,此方法返回NULL

在这两种情况下,只考虑当前的InterSystems IRIS命名空间。此外,映射的类也会被忽略。

0 0
0 100
文章
· 四月 29, 2021 阅读大约需 10 分钟
第九章 冻结计划

第九章 冻结计划

大多数SQL语句都有一个关联的查询计划。查询计划是在准备SQL语句时创建的。默认情况下,添加索引和重新编译类等操作会清除此查询计划。下次调用查询时,将重新准备查询并创建新的查询计划。冻结计划使可以跨编译保留(冻结)现有查询计划。查询执行使用冻结的计划,而不是执行新的优化并生成新的查询计划。

对系统软件的更改也可能导致不同的查询计划。通常,这些升级会带来更好的查询性能,但软件升级可能会降低特定查询的性能。冻结计划使可以保留(冻结)查询计划,以便查询性能不会因系统软件升级而改变(降级或提高)。

0 0
0 100
文章
· 三月 7, 2021 阅读大约需 17 分钟
第五章 SQL定义表(二)

第五章 SQL定义表(二)

主键

InterSystems IRIS提供了两种方法来唯一标识表中的行:RowID和主键。

可选的主键是一个有意义的值,应用程序可以使用该值唯一地标识表中的行(例如,联接中的行)。主键可以是用户指定的数据字段,也可以是多个数据字段的组合。主键值必须是唯一的,但不必是整数值。 RowID是一个内部用于标识表中行的整数值。通常,主键是由应用程序生成的值,而RowID是由InterSystems IRIS生成的唯一整数值。

系统会自动创建一个主map,以使用RowID字段访问数据行。如果定义主键字段,系统将自动创建并维护主键索引。

0 0
0 100
文章
· 四月 22, 2023 阅读大约需 3 分钟
第三十六章 配置镜像 - 配置镜像虚拟 IP (VIP)

第三十六章 配置镜像 - 配置镜像虚拟 IP (VIP)

配置镜像虚拟 IP (VIP)

如规划镜像虚拟 IP (VIP) 中所述,可以配置一个镜像虚拟地址,允许外部应用程序使用单个地址与镜像交互,确保在故障转移时持续访问。

在为镜像 VIP 配置 IRIS 并配置镜像 VIP 后,通过正常关闭当前主节点(如计划中断过程中所述)执行故障转移测试,以确保应用程序可以继续连接到镜像,而不管哪个故障转移成员是基本的。

重要提示:在 Linux 平台上配置镜像 VIP 之前,请通过安装适当的软件包(例如,Debian iputils-arping 软件包)确保 arping 命令可用。

0 0
0 99