IBM Support

IBM Systems Director Navigator for i 管理具体化查询表

Technical Blog Post


Abstract

IBM Systems Director Navigator for i 管理具体化查询表

Body

具体化查询表是建立在普通表基础上的数据表,它的数据来源于普通表。对普通表进行查询时,会优先自动查询与其关联的具体化查询表中是否有满足查询条件的数据,如果有则无需查询原普通表。这样可以提高查询效率,尤其在对海量数据进行查询时。
我们可以通过IBM Systems Director Navigator for i用以下两种方式创建具体化查询表.
第一种方式,直接创建具体化查询表:
1)展开“IBM i 管理”, 在任务导航中选择“数据库”,进入数据库主页,继续选择“数据库”
图像

2)在“数据库”任务树中展开一个数据库实例,在“模式”列表中选择想要具体化查询表的模式
图像
3)在该模式下,展开“表”列表,在“选择操作”菜单中选择“新建”->“具体化查询表”
图像
4)输入具体化查询表的表名和创建具体化查询表时所用的查询语句
图像
 图像

5)可以通过“检查语法”操作确定查询语句是否有语法错误
图像
6)可以通过“预览结果”操作预览查询语句中所指定的普通表里满足查询条件的所有数据,这些数据也将存入创建好的具体化查询表中
图像
7)如果在点击“确定”之前没有选择“以select语句填充表”,那么“全查询语句”中指定的查询语句不会在创建具体化查询表时立即执行,这时如果通过System i Navigator中的Run SQL Script查询该具体化查询表得到的数据为空。
 图像 在这种情况下可以通过修改具体化查询表的定义,选择“以select语句填充表”,“全查询语句”会自动执行,满足查询条件的数据会存入以创建好的具体化查询表中
8)如果在点击“确定”之前选择了“以select语句填充表”,那么“全查询语句”中指定的查询语句会在创建具体化查询表时立即执行,这时如果通过System i Navigator中的Run SQL Script查询该具体化查询表会看到表中的数据
图像
第二种方式,将以创建好的普通表改为具体化查询表:
1)打开一种以创建好的普通表的定义
图像
2)选择“设置为具体化查询表”,并输入“全查询语句”
 图像
3) 如果不选择“以select语句结果填充表”,点击“确定”,该普通表会转换为具体化查询表,但保留其原来的数据,因为“全查询语句”并没有在改变表的定义时立即执行
 图像
4)如果选择“以select语句结果填充表”,点击“确定”,该普通表转换为具体化查询表的同时,“全查询语句”也会立即执行,符合查询条件的新数据会覆盖该表中原有的数据
 图像
除了创建具体化查询表,我们还可以通过IBM Systems Director Navigator for i对具体化查询表进行管理,如修改表定义、许可权、描述,创建别名、索引、触发器等,如图所示。
 图像
此外,还可以通过以下步骤选择表的“显示具体化查询表”或“显示相关项”查看与某普通表相关的所有具体化查询表。

1 选择中要查看的表,展开“选择操作”菜单
 图像
2 在该菜单选择“显示具体化查询表”
  图像
3 用户就可以查看与该表关联的所有具体化查询表。如下图所示
图像
4 在“选择操作”菜单中选择“显示相关项”,
 图像
5 用户也可以查看到与该表关联的所有具体化查询表。如下图所示
图像
以上就是如何通过IBM Systems Director Navigator for i创建和管理具体化查询表。通过IBM Systems Director Navigator for i 用户可以更方便地操作具体化查询表,从而避免了使用SQL语句的繁琐。

 
作者: Su Meng

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11145278