文章
· 四月 19, 2021 阅读大约需 11 分钟
第三章 优化表(二)

第三章 优化表(二)

调整表计算值

调优表操作根据表中的代表性数据计算和设置表统计信息:
- ExtentSize,它可能是表中的实际行数(行数),也可能不是。
- 表中每个属性(字段)的选择性。
可以选择性地阻止单个属性的选择性计算。
- 属性的离群选择性,其中一个值比其他值出现得更普遍。
有效的查询可以利用离群值优化。
- 标识某些属性特征的每个属性的注释。
- 每个属性的平均字段大小。
- 表的SQL Map NameBlockCountSource of BlockCount

0 0
0 117
文章
· 五月 5, 2021 阅读大约需 6 分钟
第三章 使用多维存储(全局变量)(一)

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

本章描述了使用多维存储(全局变量)可以执行的各种操作。

以全局变量存储数据

在全局节点中存储数据很简单:像对待任何其他变量一样对待全局变量。
区别在于对全局变量的操作是自动写入数据库的。

创建全局变量

创建新的全局变量不需要设置工作;只需将数据设置为全局变量即可隐式创建新的全局结构。可以创建全局变量(或全局变量下标)并通过单个操作将数据放入其中,也可以创建全局变量(或下标)并通过将其设置为空字符串将其保留为空。在ObjectScript中,这些操作是使用SET命令完成的。

下面的例子定义了一个名为Color(如果还不存在)的全局变量,并将值“Red”与之关联。
如果已经存在一个名为Color的全局变量,那么这些示例将其修改为包含新信息。

在ObjectScript中:

0 0
0 71
文章
· 九月 3, 2021 阅读大约需 3 分钟
第五章 SQL命令 BUILD INDEX

第五章 SQL命令 BUILD INDEX

用数据填充一个或多个索引。

大纲

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR TABLE table-name [INDEX index-name [,index-name]]

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR SCHEMA schema-name

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR ALL

参数

  • FOR TABLE table-name - 已存在表的名称。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
0 0
0 79
文章
· 十月 20, 2021 阅读大约需 6 分钟
第五十一章 SQL命令 HAVING(二)

第五十一章 SQL命令 HAVING(二)

In和%INLIST谓词

IN谓词用于将值与一系列非结构化的项进行匹配。

%INLIST谓词是 IRIS扩展,用于将值与列表结构的元素进行匹配。

使用任一谓词,都可以执行相等比较和子查询比较。

在中有两种格式。第一个用作使用与OR运算符链接在一起的多个相等比较的速记。例如:

SELECT Name, Home_State FROM Sample.Person
GROUP BY Home_State
HAVING Home_State IN ('ME','NH','VT','MA','RI','CT')

如果Home_State等于括号列表中的任意值,则计算为TRUE。列表元素可以是常量或表达式。排序规则适用于IN比较,因为它适用于相等性测试。默认情况下,IN比较使用字段定义的排序规则类型;默认情况下,字符串字段定义为SQLUPPER,不区分大小写。

0 0
0 75
文章
· 十一月 5, 2021 阅读大约需 4 分钟
第六十七章 SQL命令 ROLLBACK

第六十七章 SQL命令 ROLLBACK

回滚事务。

大纲

ROLLBACK [WORK]

ROLLBACK TO SAVEPOINT pointname

参数

  • pointname - 作为标识符指定的现有保存点的名称。

描述

ROLLBACK语句将回滚事务,撤消已执行但未提交的工作,减少$TLEVEL事务级别计数器,并释放锁。
ROLLBACK用于将数据库恢复到以前的一致状态。

0 0
0 239
文章
· 十一月 21, 2021 阅读大约需 9 分钟
第八十三章 SQL命令 UPDATE(二)

第八十三章 SQL命令 UPDATE(二)

显示到逻辑数据转换

数据以逻辑模式格式存储。
例如,日期存储为整数天数,时间存储为从午夜开始的秒数,%List存储为编码字符串。
大多数其他数据,如字符串和数字,不需要转换;
无论当前模式如何,它们都以相同的格式输入、更新和存储。

对于已转换的数据,可以在LOGICAL模式(默认)中更新数据值,或者通过指定选择模式,使用更易于阅读的格式(DISPLAY模式或ODBC模式)更新数据值。
例如,通过指定选择模式,可以以DISPLAY格式(例如2/22/2018)、ODBC格式(例如2018-02-22)或逻辑格式(例如64701)更新日期。
对于某些数据类型,还可以在ODBC或DISPLAY选择模式下以LOGICAL格式指定数据。

0 0
0 53
文章
· 十二月 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
文章
· 一月 9, 2022 阅读大约需 1 分钟
第十九章 SQL函数 ASIN

第十九章 SQL函数 ASIN

一个标量数值函数,返回角的正弦的反正弦(以弧度为单位)。

大纲

{fn ASIN(numeric-expression)}

参数

  • numeric-expression - 数值在-1到1之间的数值表达式。
    这是这个角的正弦值。

ASIN返回NUMERICDOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, ASIN返回DOUBLE;
否则,返回NUMERIC

0 0
0 108
文章
· 一月 28, 2022 阅读大约需 3 分钟
第三十六章 SQL函数 CURRENT_TIME

第三十六章 SQL函数 CURRENT_TIME

返回当前本地时间的日期/时间函数。

大纲

CURRENT_TIME
CURRENT_TIME(precision)

参数

  • precision - 一个正整数,它将时间精度指定为小数位数。默认值为0(无小数秒);此默认值是可配置的。

CURRENT_TIME返回时间数据类型。

描述

CURRENT_TIME要么不带参数,要么带精度参数。不允许使用空参数括号。

CURRENT_TIME返回此时区的当前本地时间。它会根据当地时间变化(如夏令时)进行调整。

逻辑模式下的CURRENT_TIME$HOROLOG格式返回当前本地时间;例如,37065。显示模式下的当前时间以区域设置的默认格式返回当前本地时间;例如,10:18:27

0 0
0 65
文章
· 三月 13, 2022 阅读大约需 5 分钟
第八十章 SQL函数 $LIST(二)

第八十章 SQL函数 $LIST(二)

示例

在以下嵌入式 SQL 示例中,两个 WRITE 语句都返回“Red”,即列表中的第一个元素。第一个默认写入第一个元素,第二个写入第一个元素,因为位置参数设置为 1

0 0
0 92
文章
· 三月 29, 2022 阅读大约需 2 分钟
第九十六章 SQL函数 MOD

第九十六章 SQL函数 MOD

注:IRIS可用,非IRIS版本不可用。

标量数值函数,返回一个数除以另一个数的模数(余数)。

大纲

MOD(dividend,divisor)

{fn MOD(dividend,divisor)}

参数

  • dividend - 数字,它是除法的分子(除数)。
  • divisor - 数字,它是除法的分母(除数)。

MOD 返回 NUMERIC 数据类型,除非被除数是数据类型 DOUBLE。如果dividendDOUBLE,则 MOD 返回 DOUBLE

描述

MOD 返回除数除数的数学余数(模数)。

0 0
0 88
文章
· 四月 13, 2022 阅读大约需 1 分钟
第111章 SQL函数 PREDICT

第111章 SQL函数 PREDICT

IntegratedML 函数,它应用指定的训练模型来预测提供的每个输入行的结果。

大纲

PREDICT(model-name )

PREDICT(model-name USE trained-model-name )

PREDICT(model-name WITH feature-columns-clause )

PREDICT(model-name USE trained-model-name WITH feature-columns-clause )

描述

PREDICT 是一个 IntegratedML 函数,可用作 SELECT 选择项以返回将经过训练的机器学习模型应用于指定查询的结果。

0 0
0 70
文章
· 五月 27, 2022 阅读大约需 4 分钟
第154章 SQL函数 UNIX_TIMESTAMP

第154章 SQL函数 UNIX_TIMESTAMP

注:此函数IRIS可用,Cache不可用。

将日期表达式转换为 UNIX 时间戳的日期/时间函数。

大纲

UNIX_TIMESTAMP([date-expression])

参数

  • date-expression - 可选 — 作为列名称、另一个标量函数的结果或日期或时间戳文字的表达式。 UNIX_TIMESTAMP 不会从一个时区转换到另一个时区。如果省略 date-expression,则默认为当前 UTC 时间戳。

描述

UNIX_TIMESTAMP 返回一个 UNIX® 时间戳,即自 '1970-01-01 00:00:00'以来的秒数(和小数秒)。

0 0
0 226
文章
· 六月 14, 2022 阅读大约需 5 分钟
第九章 其他参考资料(二)

第九章 其他参考资料(二)

特殊变量 (SQL)

系统提供的变量。

$HOROLOG
$JOB
$NAMESPACE
$TLEVEL
$USERNAME
$ZHOROLOG
$ZJOB
$ZPI
$ZTIMESTAMP
$ZTIMEZONE
$ZVERSION

SQL直接支持许多对象脚本特殊变量。这些变量包含系统提供的值。只要可以在SQL中指定文字值,就可以使用它们。

SQL特殊变量名不区分大小写。大多数可以使用缩写来指定。

0 0
0 74
文章
· 二月 3, 2024 阅读大约需 2 分钟
基于IRIS For Health 进行MySQL到Oracle的数据查询和插入

本篇文章会介绍一个简单的示例:如何使用IRIS 2023版自带的EnsLib.SQL.Service.GenericServiceEnsLib.SQL.Operation.GenericOperationMySQL的数据库读取出来并灌入Oracle数据库,本示例以Windows环境为例。

1. 创建SQL网关连接,连到MySQL

1.1 在windows中创建MySQL ODBC连接

0 0
0 116
文章
· 一月 11, 2021 阅读大约需 3 分钟
类、表和Globals——工作原理

当我向技术人员介绍InterSystems IRIS时,我一般会先讲其核心是一个多模型DBMS。

我认为这是其主要优势(在DBMS方面)。数据仅存储一次。您只需访问您想用的API。
- 您想要数据的概要?用SQL!
- 您想用一份记录做更多事情?用对象!
- 想要访问或设置一个值,并且您知道键?用Globals!

乍一看挺好的,简明扼要,又传达了信息,但当人们真正开始使用InterSystems IRIS时,问题就来了。类、表和Globals是如何关联的?它们之间有什么关系?数据是如何存储的?

本文我将尝试回答这些问题,并解释这些到底是怎么回事。

第一部分 模型偏见

处理数据的人往往对他们使用的模型有偏见。

开发者们把数据视为对象。对他们而言,数据库和表都是通过CRUD(增查改删,最好是基于ORM)交互的盒子,但底层的概念模型都是对象(当然这对于我们大多数使用面向对象编程语言的开发者来说没错)。

而DBA大部分时间都在搞关系型DBMS,他们把数据视为表。对象只是行的封装器。

对于InterSystems IRIS,持久类也是一个表,将数据存储在Global中,因此需要进行一些澄清。

1 0
0 131
文章
· 三月 16, 2021 阅读大约需 5 分钟
第十一章 SQL隐式联接(箭头语法)

第十一章 SQL隐式联接(箭头语法)

InterSystems SQL提供了一个特殊的–>运算符,作为从相关表中获取值的快捷方式,而在某些常见情况下无需指定显式的JOIN即可。可以使用此箭头语法代替显式联接语法,也可以将其与显式联接语法结合使用。箭头语法执行左外部联接。

箭头语法可用于类的属性或父表的关系属性的引用。其他类型的关系和外键不支持箭头语法。不能在ON子句中使用箭头语法(–>)。

属性引用

可以使用- >操作符作为从“引用表”获取值的简写。
例如,假设定义了两个类:Company:

0 0
0 170
文章
· 四月 2, 2021 阅读大约需 13 分钟
第十五章 使用管理门户SQL接口(一)

第十五章 使用管理门户SQL接口(一)

本章介绍如何在InterSystems IRIS®数据平台管理门户上执行SQL操作。
管理门户界面使用动态SQL,这意味着在运行时准备和执行查询。
Management Portal界面旨在帮助针对小型数据集开发和测试SQL代码。
它不打算用作在生产环境中执行SQL的接口。

管理门户还提供了各种配置SQL的选项。

有关使用管理门户的一般信息,请选择左上角的Help按钮。
通过使用左上角的Contact按钮,可以从管理门户向InterSystems Worldwide Response Center (WRC)报告有关InterSystems软件的问题。

管理门户SQL工具

InterSystems IRIS允许使用SQL工具从InterSystems IRIS管理门户检查和操作数据。
此操作的起点是Management Portal System Explorer选项。
从这里选择SQL选项。
这将显示SQL接口,它允许:

0 0
0 165
文章
· 四月 20, 2021 阅读大约需 13 分钟
第四章 缓存查询(一)

第四章 缓存查询(一)

系统自动维护已准备好的SQL语句(“查询”)的缓存。这允许重新执行SQL查询,而无需重复优化查询和开发查询计划的开销。缓存查询是在准备某些SQL语句时创建的。准备查询发生在运行时,而不是在编译包含SQL查询代码的例程时。通常,PREPARE紧跟在SQL语句的第一次执行之后,但在动态SQL中,可以准备查询而不执行它。后续执行会忽略PREPARE语句,转而访问缓存的查询。要强制对现有查询进行新的准备,必须清除缓存的查询。

所有SQL调用都会创建缓存查询,无论是在ObjectScript例程中调用还是在类方法中调用。
- 动态SQL、ODBC、JDBC和$SYSTEM.SQL.DDLImport()方法在准备查询时创建缓存查询。管理门户执行SQL接口、InterSystems SQL Shell和%SYSTEM.SQL.Execute()方法使用动态SQL,因此使用准备操作来创建缓存查询。

0 0
1 235

关键字:IRIS, IntegratedML, 机器学习, Covid-19, Kaggle

目的

最近,我注意到一个用于预测 Covid-19 患者是否将转入 ICU 的 Kaggle 数据集。 它是一个包含 1925 条病患记录的电子表格,其中有 231 列生命体征和观察结果,最后一列“ICU”为 1(表示是)或 0(表示否)。 任务是根据已知数据预测患者是否将转入 ICU。

这个数据集看起来是所谓的“传统 ML”任务的一个好例子。数据看上去数量合适,质量也相对合适。它可能更适合在 IntegratedML 演示套件上直接应用,那么,基于普通 ML 管道与可能的 IntegratedML 方法进行快速测试,最简单的方法是什么?

0 0
0 99