加载中…
个人资料
智扬信达
智扬信达
  • 博客等级:
  • 博客积分:0
  • 博客访问:538,353
  • 关注人气:117
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

HANA中表所用处清单快速查询

(2018-11-02 13:53:32)
标签:

hana

分类: BI-行业动态(HANA/大数据/云BI

BY Alvin

HANA数据建模相关开发过程,通常会使用SLTDataServiceETL工具将源系统的表同步到HANA数据库中,作为建模及数据处理使用。

随着HANA开发的不断深化,某些表可能被许多模型调用,如果想了解这些表被使用的情况时,将很难统计。

其实,在HANA数据库对应的SYS这个Schema中,系统已经自带了许多非常实用的View,其中一个View便可以满足我们这个查询的需要。

本次举例子用于抛砖引玉,让我们探索更多系统自带View带来的方便。


举例View: OBJECT_DEPENDENCIES

路径:HANA->Catalog->SYS->Views

以下为该View的相关信息

HANA中表所用处清单快速查询

        我们可以Date Preview预览这个视图里面的内容,也可以直接执行以下SQL代码,快速并有针对性获取重要信息。

        

例如我们查询表AFRUSAP工单相关信息表),看哪些模型已使用到它。

执行代码如下:

SELECT BASE_SCHEMA_NAME,

           BASE_OBJECT_NAME,

           DEPENDENT_SCHEMA_NAME,

           DEPENDENT_OBJECT_NAME,

           DEPENDENT_OBJECT_TYPE

FROM "SYS"."OBJECT_DEPENDENCIES"

WHERE BASE_OBJECT_NAME = 'AFRU'

           AND DEPENDENT_OBJECT_TYPE = 'VIEW'

           AND DEPENDENT_OBJECT_NAME NOT LIKE'%/hier/%'

ORDER BY BASE_OBJECT_NAME,DEPENDENT_OBJECT_NAME


说明:

1、BASE_OBJECT_NAME为我们需要查询的表名;

2、DEPENDENT_OBJECT_TYPE限定类型为VIEW(模型激活后在系统产生的都是VIEW);

3、DEPENDENT_OBJECT_NAME排除类似/hier/的记录(这些记录为模型中字段信息)。

查询到的结果如下,在DEPENDENT_OBJECT_NAME里面,就是这个表所用处清单。

HANA中表所用处清单快速查询


        结语:在SYS这个Schema里面,还有许多非常实用的View,即使对HANA系统底层表结构关系不是很清楚,都可以在这里获取到比较丰富的信息。而且探索这些视图并不太复杂,视图技术名称基本上可以猜到它的主要用途。


再举一个简单的例子,我们经常会想统计某个表的记录大小及占用内存情况,可在M_CS_TABLE这个View查到。

举例代码如下:

SELECT TABLE_NAME,

           RECORD_COUNT,

           ROUND(SUM(MEMORY_SIZE_IN_TOTAL)/1024/1024) AS "MB"

FROM M_CS_TABLES 

WHERE SCHEMA_NAME = 'XXX'

AND TABLE_NAME = 'AFRU'

GROUP BY TABLE_NAME,RECORD_COUNT

HANA中表所用处清单快速查询

HANA中表所用处清单快速查询


如需沟通讨论,可联系QQ2622487640,本文版权归智扬信达所有,转载请注明出处

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有