本文向您展示了如何理解SAP HANA提示。内容简洁易懂。一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。
什么是SAP HANA提示?
Hanahant是由SAP14 HANA数据库服务器执行的指令。HANA提示将影响数据库请求的生成和处理方式,但它永远不会改变这些数据库请求的响应结果。一般来说,如果不使用Hint,可以通过执行一条SQL语句来查询n条记录。然后使用提示,查询结果仍然是n项。HANA提示通常用于HANA的性能调优,例如在执行SQL语句时优化CPU或内存的使用。
SAP HANA提示有以下类型:
1.SAP HANA数据库提示
直接在HANA Studio的SQL语句中使用。从提示中选择*可以获得当前版本HANA支持的所有提示。我使用的HANA服务器上总共有216台3360。
用法:如:下方红色下划线所示
如果您的Netweaver数据库是HANA,并且您想在ABAP开放SQL中使用这些提示,您可以使用语法: %_HINTS HDB后跟Hint。例如,下图:
如果Netweaver的版本低于740,则需要用ADABAS替换HDB。
2.SAP ABAP提示
对于Netweaver使用的数据库是非HANA数据库的情况,有必要使用数据库提供者特定的提示。详情可以查询对应的SAP备注。
130480 Oracle开放SQL中的数据库提示
133381 MS SQL Server的打开SQL中的数据库提示
150037数据库6的开放式SQL中的数据库提示(UDB DB2)
152913用于Informix的开放式SQL中的数据库提示
162034 DB2/390:开放SQL中的数据库提示
485420 iSeries:开放式SQL/原生SQL的数据库提示
652096用于SAPDB/MaxDB的开放式SQL中的数据库提示
1702338SYB:用于Sybase ASE的开放式SQL中的数据库提示
ABAP的OPEN SQL中使用的方法是类似的,用指定的数据库提供程序的代码替换%_HINTS后面的HDB,加上特定于数据库提供程序的提示。
ABAP支持的数据库提供程序的代码名称可以在ABAP帮助中找到。
3.SAP HANA计算视图提示
ce2qo _ disable _展开
ce2qo _ for _ nested _ view _ with _ SQL _ execution
enable_star_join_ceqo
ce2qo_for_unit_conversion
qo _ pop _提示
查询级别sql提示
这种类型的提示用于在HANA Studio中创建的计算视图,而不是ABAP开发工具创建的CDS(核心数据服务)视图。我从来没有用过,所以举不出例子。
详情请查看SAP备注2509161。
常用HANA提示介绍
详细名单可以在2142945号说明的正文中找到,这里就不赘述了。值得一提的是,目前还没有一个统一的最佳实践来指出“应用某些提示肯定会提高性能”这样的事情。Hint的使用需要根据具体的SQL语句进行分析,没有办法一概而论。
最极端的例子是互斥的Hint: CS_JOIN和NO_CS_JOIN,用于建议HANA数据库采用或不采用列存储连接来响应数据请求。
我实际工作的一个例子:这个简单的报告从HANA数据库中读取了100个文本为“2017年12月11日”的服务订单:
总共花了15秒钟:
当我添加NO_CS_JOIN的提示时,
性能提高到不到1秒,数据查询完成。
在注释2142945的末尾还有许多其他有用的注释。如果以后需要工作,我会把这些笔记翻译成中文,加上自己的理解。
以上内容是如何理解SAP HANA提示。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113341.html