文章
姚 鑫 · 四月 3, 2021 阅读大约需 12 分钟

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

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

过滤模式内容

Management Portal SQL界面的左侧允许查看模式(或匹配筛选器模式的多个模式)的内容
1. 通过单击SQL interface页面顶部的Switch选项,指定希望使用的名称空间。
这将显示可用名称空间的列表,可以从中进行选择。
2. 应用筛选器或从模式下拉列表中选择模式。

可以使用Filter字段通过输入搜索模式来筛选列表。
可以在一个模式或多个模式中筛选模式,或筛选表/视图/过程名(项)。
搜索模式由模式名、点(.)和项目名组成——每个名称由文字和通配符的某种组合组成。字面值不区分大小写。
通配符是:

  • 星号(*)表示0个或多个任意类型的字符。
  • 下划线(_)表示任意类型的单个字符。
  • 撇号(')倒装前缀,意为“不”(除了)。
  • 反斜杠(\)转义字符:\_表示字面上的下划线字符。

例如,S*返回所有以S S*开头的模式。
Person返回所有以S. *开头的模式中的所有Person项。
Person*返回所有模式中以Person开头的所有项。
可以使用逗号分隔的搜索模式列表来选择满足所列模式(或逻辑)中的任何一种的所有项。
例如,* .Person * *
Employee*选择所有模式中的所有Person和Employee项。

若要应用筛选器搜索模式,请单击refresh按钮或按Tab键。

过滤器搜索模式将一直有效,直到显式地更改它。
过滤器字段右侧的“x”按钮清除搜索模式。

  1. 从schema下拉列表中选择一个模式将覆盖并重置之前的任何筛选器搜索模式,选择单个模式。
    指定筛选器搜索模式将覆盖之前的任何模式。
  2. 可选地,使用下拉“应用到”列表来指定要列出的项目类别:表、视图、过程、缓存查询,或以上所有。
    默认为All
    在“应用到”下拉列表中指定的任何类别都受到筛选器或模式的限制。
    在“应用到”中没有指定的类别继续在名称空间中列出该类别类型的所有项。
  3. 可选地,单击System复选框以包含系统项目(名称以%开头的项目)。
    默认情况下不包含系统项。
  4. 展开类别的列表,列出指定架构或指定筛选器搜索模式的项。
    展开列表时,不包含项的任何类别都不会展开。
  5. 单击展开列表中的项,在SQL界面的右侧显示其目录详细信息。

如果所选项目是表或过程,则Catalog Details类名信息提供到相应类参考文档的链接。

请注意,筛选器设置是用户自定义的,并保留以供该用户将来使用。

Browse选项卡

Browse选项卡提供了一种方便的方式,可以快速查看名称空间中的所有模式,或者名称空间中经过过滤的模式子集。
可以选择Show All Schemas或Show Schemas with Filter,这将应用在管理门户SQL界面左侧指定的过滤器。
通过单击模式名称标题,可以按字母升序或降序列出模式。

每个列出的模式都提供指向其关联表、视图、过程和查询(缓存的查询)列表的链接。
如果模式没有该类型的项,则在该模式列表列中显示一个连字符(而不是命名链接)。
这使能够快速获得关于模式内容的信息。

单击“表”、“视图”、“过程”或“查询”链接将显示有关这些项的基本信息的表。
通过单击表标题,可以按该列的值升序或降序对列表进行排序。
过程表总是包括区段过程,而不管管理门户SQL界面左侧的过程设置如何。

可以使用Catalog Details选项卡获得关于单个表、视图、过程和缓存查询的更多信息。
从Browse选项卡中选择表或视图不会激活该表的Open Table链接。

目录详情

管理门户提供每个表,视图,过程和缓存查询的目录详细信息。管理门户SQL界面的过滤架构内容(左侧)组件允许您选择单个项目以显示其目录详细信息。

目录表的详细信息

每个表提供以下目录详细信息选项:

  • 表信息:表类型:表类型:无论是表,全局临时或系统表(仅在选择系统复选框时显示系统表),所有者名称,最后编译的时间戳,外部和读取的布尔值,类名称,范围大小,子表的名称和/或父表(如果相关)和一个或多个引用字段到其他表(如果相关),无论是使用%storage.persistent默认存储类,无论是支持位图指标, ROWID字段名称,ROWID基于(如果相关)的字段列表,以及表是否被分析。如果有一个显式分片键,它会显示分片键字段。

类名是在Intersystems类参考文档中的相应条目的链接。类名是通过删除标点字符,如标识符和类实体名称中所述从表名派生的唯一包。

只有当当前表中的某个字段对另一个表有一个或多个引用时,引用才会出现在表信息中。
这些对其他表的引用作为指向所引用表的表信息的链接列出。

Sharded:如果表是一个分片主表,那么表信息将显示分片本地类和表的名称,并链接到InterSystems类参考文档中相应的条目。
如果该表是一个碎片本地表,表信息将显示碎片主类和表的名称,并链接到InterSystems类参考文档中相应的条目。
只有选中“System”复选框时,才会显示“Shard-local”表。

该选项还为打开表时要加载的行数提供了一个可修改的值。
这将设置打开表中显示的最大行数。
可用范围从1到10,000;
默认值为100。
管理门户将一个超出可用范围的值修正为一个有效值:0修正为100;
一个小数四舍五入到下一个更大的整数;
大于10,000的数字更正为10,000。

  • 字段:表中字段的列表,显示字段名,数据类型,列#,必需的,惟一的,排序,隐藏,MaxLen, MaxVal, MinVal,流,容器,xDBC类型,引用,版本列,选择性,离群值选择性,离群值和平均字段大小。
  • 映射/索引:为表定义的索引列表,显示:索引名、SQL映射名、列、类型、块计数、映射继承和全局。

索引名称是索引属性名称,然后遵循属性命名约定;从SQL索引名称生成时,将删除SQL索引名称中的标点符号(例如下划线)。 SQL映射名称是索引的SQL名称。生成的SQL映射名称与约束名称相同,并遵循相同的命名约定(下面描述)。列指定为索引指定的字段或逗号分隔的字段列表;它可以指定index collation类型和full schinea.table.field参考,如下例所示:$$sqlupper({sample.people.name})。类型可以是以下之一:位图范围,数据/主,索引(标准索引),位图或bitslice索引以及唯一的约束。块计数包含计数和该计数的确定:由Class Author(定义)明确地设置,由可调组织(测量)计算,或由类编译器(估计)估计。如果映射继承?是的,map是从超类继承的。全局是包含索引数据的下标全局的名称。索引全局的命名约定在索引全局名称中描述。您可以向ZWRITE提供此全局名称以显示索引数据。

此选项还为每个索引提供重建索引的链接。

  • 触发:为表显示的触发器列表显示:触发名称,时间事件,订单,代码。
  • 约束:表格的字段列表,显示:约束名称,约束类型和约束数据(括号中列出的字段名称)。约束包括主键,外键和唯一约束。主键是定义,唯一;它仅列出一次。此选项列出约束名称的约束;使用显示组件字段的逗号分隔列表的约束数据列出了一次涉及多个字段的约束。约束类型可以是唯一的主键,隐式主键,外键或隐式外键。

还可以通过调用Information_schema.constraint_column_usage来列出约束。此列表按字段名称约束。以下示例返回字段的名称和所有唯一,主键,外键和Check Constraints的约束的名称:

SELECT Column_Name,Constraint_Name FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_SCHEMA='Sample' AND TABLE_NAME='Person'

image

如果该表定义为%PublicraWID,并且没有定义显式主键,则RowID字段列出了具有约束名称RowidField_As_PKeyContriced主键的约束类型。

对于显式约束,约束名称是如下生成的:
- 字段定义中指定的约束:例如,fullname varchar(48)唯一或fullname varchar(48)主键。字段的约束名称值是具有语法tableName_ctype#的生成值,其中ctype是唯一的,pkeyfkey是在表定义中指定的顺序分配给未命名约束的顺序整数。例如,如果FullName具有MyTest表中的第二个未命名的唯一约束(不包括ID字段),则FullName的生成约束名称将是mytest_unique2;如果fullnameMyTest表中指定的主键和第3个未命名约束(不包括ID字段),则FullName的生成约束名称将是MyTest_pKey3
- 约束关键字命名约束子句:例如,约束UFULLNAME唯一(名字,LastName)或约束Pkname主键(FullName)),约束名称是指定的唯一约束名称。例如,MyTest表中的名字和LastName每个都将每个约束名称UfullName; fullname将具有约束名称pkname
- 未命名约束子句:例如,唯一(名字,姓氏)或主键(FullName)。约束名称值是具有语法tableNamectype#的生成值,其中ctype是唯一的,pkeyfkey##是在表定义中指定的顺序分配给未命名约束的顺序整数。例如,如果FirstNameLastName具有MyTest表中的第2个未命名的唯一约束(不包括ID字段),则FirstNameLastName的生成约束名称将是MyTestunique2;如果FullNameMyTest表中指定的主要键和第3个未命名的约束(不包括ID字段),则FullName的生成约束名称将是MyTestPKEY3。 (注意混合大写/小写,没有下划线。)

如果一个字段涉及多个唯一约束,则为每个约束名称单独列出。

  • 缓存查询:表的缓存查询列表显示:例程名称,查询文本,创建时间,源,查询类型。
  • 表的SQL语句:为此表生成的SQL语句列表。与命名空间的SQL语句相同的信息。

目录的视图详细信息

Management Portal SQL接口还提供视图,过程和缓存查询的目录详细信息:

为每个视图提供以下目录详细信息选项:

  • 查看信息:所有者名称,最后编译的时间戳。使用“编辑视图”链接并保存更改时,此时间戳更新。

定义为只读,视图是可更新的布尔值:如果仅读取的视图定义,则它们分别设置为1和0。否则,如果查看视图是从单个表定义的,它们被设置为0和1;如果视图由已加入的表定义,则它们设置为0和0。可以使用编辑视图链接更改此选项。

类名是唯一的包。通过删除标点字符,如标识符和类实体名称中所述,从视图名称派生的名称。

如果查看定义包含“使用”选项“子句,则仅列出选项。它可以是本地的或级联。您可以使用编辑视图链接更改此选项。

类类型是视图。它提供了编辑视图链接以编辑视图定义。

查看文本是用于定义视图的SELECT语句。可以使用编辑视图链接更改视图定义。

字段列表包括字段名称,数据类型,maxlen参数,maxval参数,minval参数,blob(%stream.globalcharacter%stream.globalbinary字段),长度,精度和比例。

  • 查看的SQL语句:为此视图生成的SQL语句列表。与命名空间的SQL语句相同的信息。

存储过程的目录详细信息

为每个过程提供以下目录详细信息:

  • 存储过程信息:

类名是一个唯一的包。通过将类型标识符( ‘func’, ‘meth’, ‘proc’, or ‘query’)预定到类名(例如,SQL函数MyProc变为FuncMyProc)并删除标点符号字符,如标识符和类实体名称中所述。类文档是Intersystems类参考中相应条目的链接。过程类型(例如,函数)。方法或查询名称生成的类方法或类查询的名称;此名称在标识符和类实体名称中描述。运行过程链接提供交互方式的选项。

  • 存储过程SQL语句:为此存储过程生成的SQL语句列表。与命名空间的SQL语句相同的信息。

缓存查询的目录详细信息

缓存查询提供查询的全文,一个选项来显示查询执行计划,以及交互式执行缓存查询的选项。

向导

  • 数据导入向导 - 运行向导将数据从文本文件导入Intersystems Iris类。
  • 数据导出向导 - 运行向导将数据从Intersystems Iris类导出到文本文件中。
  • 数据迁移向导 - 运行向导以从外部源迁移数据,并创建一个Intersystems Iris类定义来存储它。
  • 链接表向导 - 运行向导,以链接到外部源中的表或视图,就像它是本机Intersystems Iris数据一样。
  • 链接过程向导 - 运行向导,以链接到外部源中的过程。

操作

  • 创建视图 - 显示一个页面以创建视图。使用此选项的说明提供了本书的“定义和使用视图”章节。
  • 打印目录 - 允许打印有关表定义的完整信息。单击打印目录显示打印预览。通过单击此打印预览上的指数,触发器和/或约束,可以从目录打印输出中包含或排除此信息。
  • Purege缓存查询 - 提供三种用于清除缓存查询的选项:清除当前命名空间的所有缓存查询,清除指定表的所有缓存查询,或者仅清除所选缓存的查询。
  • 调谐表信息 - 对选定的表运行调谐表工具。这计算了每个表列对当前数据的选择性。选择性值1表示定义为唯一(因此具有所有唯一数据值)的列。选择性值为1.0000%表示未定义所有当前数据值是唯一值的唯一列。 1.0000%的百分比值更大,指示当前数据中该列的重复值的相对数量。通过使用这些选择性值,可以确定要定义的索引以及如何使用这些索引来优化性能。
  • 调整架构中的所有表 - 运行调谐表工具,针对所属于当前命名空间中指定架构的所有表。
  • 重建表索引 - 重建指定表的所有索引。
  • 删除此项目 - 删除(删除)指定的表定义,查看定义,过程或缓存查询。必须具有适当的权限来执行此操作。除非表类定义包括[DDLOWALLED],否则否则不能在通过定义持久性类创建的表上使用删除。否则,操作失败了,使用SQLCode -300错误,其中包含类“Schema.TableName”%MSG DDL。如果相应的持久性类具有子类(派生类),则不能在表格上使用删除;使用%msg'schema.tableName'具有派生类SQLCode -300错误失败,因此无法通过DDL删除。

如果一个类被定义为链接表,则下降操作也会将链接表放在本地系统上,即使链接的表类未被定义为ddlowed。下降不会删除实际表此链接引用服务器上的引用。

  • 导出所有语句 - 将所有SQL语句导出在当前命名空间中。 SQL语句以XML格式导出。可以选择导出到文件,或导出到浏览器显示页面。
  • 导入语句 - 将SQL语句从XML文件导入当前命名空间。

打开表

如果在管理门户SQL接口的左侧选择表或视图,则会显示该表或视图的目录详细信息。页面顶部的打开表链接也变为活动状态。打开表显示表中的实际数据(或通过视图访问)。数据以显示格式显示。

默认情况下,将显示前100行数据;通过在“目录详细信息”选项卡信息中将表打开时,通过设置要加载的行数来修改此默认值。如果表格中的行数多于此行到加载值,则在数据显示的底部显示越多的数据...指示器。如果表格中的行较少,则要加载值的行数,则在数据显示的底部显示完整的指示符。

一列数据类型%Stream.globalcharacter将实际数据(最多100个字符)显示为字符串。超出前100个字符的附加数据由省略号(...)表示。

一列数据类型%Stream.Globalbinary显示为<二进制>。

工具

System Explorer,SQL,Tools下拉列表提供对以下工具的访问。这些是系统资源管理器,工具,SQL性能工具的相同工具:
- SQL运行时统计信息:用户界面生成指定查询的SQL运行时统计信息。
- 索引分析仪:用于收集指定架构的各种类型索引分析的用户界面。
- 替代表演计划:用户界面生成指定查询的备用显示计划。
- 生成报告以将SQL查询性能报告提交给Intersystems WRC(全球响应中心客户支持)。要使用此报告工具,必须先从WRC获取WRC跟踪号码。
- 导入报告以通过文件名导入现有WRC报告。仅用于Intersystems使用。

image

00
1 0 0 6
Log in or sign up to continue