2019独角兽企业重金招聘Python工程师标准>>>

我发现Google和百度上关于HANA DB Hint的中文介绍比较少,所以就写了这一篇。本文部分内容来自SAP note 2142945 – FAQ: SAP HANA Hints。

什么是SAP HANA Hint

HANA Hint是SAP14 HANA数据库服务器执行的一种指令。HANA Hint会影响一个数据库请求的生成和处理的方式,但绝不会改变这些数据库请求的响应结果。通俗的说,如果你不用Hint, 执行某条SQL语句查询到了N条记录。那么用了Hint,查询结果仍然是N条。HANA Hint通常用来进行HANA的性能调优,比如对执行某条SQL语句CPU或者内存占用率的优化。

SAP HANA Hint有下列几种类型:

1. SAP HANA DB Hints

直接用于HANA Studio的SQL语句里。通过select * from hints能够拿到当前版本的HANA支持的所有Hint. 在我用的HANA服务器上总共216个:

用法: 如下图红色下划线所示:

如果您的Netweaver用的数据库是HANA,而您又想把这些Hint用在ABAP Open SQL里,那么可以使用语法: %_HINTS HDB后跟Hint的具体内容。例如下图:

如果Netweaver的版本小于740, 需要将HDB替换成ADABAS。

2. SAP ABAP Hints

对于那些Netweaver用的数据库是非HANA DB的场景,需要使用数据库提供商特定的Hint。具体细节可以查询对应的SAP note。

  • 130480 Database hints in Open SQL for Oracle

  • 133381 Database hints in Open SQL for MS SQL Server

  • 150037 Database hints in Open SQL for DB6 (DB2 UDB)

  • 152913 Database hints in Open SQL for Informix

  • 162034 DB2/390: Database hints in Open SQL

  • 485420 iSeries: Database hints for Open SQL/Native SQL

  • 652096 Database hints in Open SQL for SAPDB / MaxDB

  • 1702338SYB: Database hints in Open SQL for Sybase ASE

在ABAP的OPEN SQL里使用方法类似,把 %_HINTS后的HDB替换成指定数据库提供商的代号,再加上数据库提供商特定的Hint.

ABAP支持的数据库提供商的代号在ABAP help里能查到。

3. SAP HANA Calculation View Hints

  • ce2qo_disable_unfolding
  • ce2qo_for_nested_views_with_sql_execution
  • enable_star_join_ceqo
  • ce2qo_for_unit_conversion
  • qo_pop_hints
  • query_level_sql_hints

这种类型的Hint用于HANA Studio里创建的Calculation View,而非ABAP Development Tool创建的CDS(Core Data Service) View. 我没有用过,没法举例。

更多细节请查询SAP note 2509161。

常用的HANA Hint介绍

详细列表能在note 2142945的正文里找到,这里就不赘述了。值得一提的是,并没有一个统一的最佳实践指明了诸如”应用某某hint就一定能提高性能”。Hint的使用需要根据具体的SQL语句来分析,没办法一概而论。

最极端的例子就是这对互斥的Hint: CS_JOIN 和NO_CS_JOIN, 它们分别用于建议HANA数据库采用或者不采用Column Store Join来响应数据请求。

我的一个实际工作中的例子:这个简单的报表从HANA数据库中读取100条描述信息包含了文本”2017-12-11″的服务订单:

总共花费了15秒钟:

而当我加上NO_CS_JOIN的hint之后,

性能提升到不到1秒即完成了数据查询。

在note 2142945的末尾还包含很多其他有用的note。将来如果工作需要,我会将这些note陆续翻译成中文并加上自己的理解。

希望本文能帮助您对SAP HANA Hint有一个最基本的认识。您可以关注我的微信公众号”汪子熙“获得我的更多原创SAP技术文章。

转载于:https://my.oschina.net/u/3771578/blog/1620868

SAP HANA Hint简介相关推荐

  1. SAP HANA Cloud 简介

    官网 SAP HANA Platform 1.0:Released in 2010. Current version is 1.0 SPS (Support Package Stack) 12. SA ...

  2. SAP HANA中的SLT简介

    SAP HANA中的SLT简介 目录 SAP系统和SAP HANA之间的SLT连接架构 在SAP源系统中配置SLT服务器 通过SLT将数据从SAP源导入至SAP HANA 非SAP系统和SAP HAN ...

  3. 【SAP Hana】X-DOC:SAP Hana CDS 开发简介

    SAP Hana CDS 开发简介 一.CDS简介 二.CDS VIEW 创建模板 1.定义单数据源的简单视图 2.定义两个数据源的JOIN视图 3.定义具有关联关系的视图 4.定义父类关联关系的视图 ...

  4. SAP HANA 2.0简介

    正文部分 下一代的内存平台SAP HANA 2.0简化了数据库和数据管理,使应用程序开发人员能够更轻松地提供智能,洞察驱动的应用程序. 该平台的新功能针对创新进行了优化,可帮助您的企业在数字经济中更有 ...

  5. 【HANA系列】SAP HANA 2.0简介

    公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: [HANA系列]SAP HANA 2.0 ...

  6. SAP HANA XS ODATA简介

    OData 全称是Open Data Protocol 即开放数据协议 由微软公司最初提出 它的主要用途便是通过Web来对数据库中的数据进行查询与更新. 在SAP HANA 的XS Engine中提供 ...

  7. SAP HANA:持续创新十周年

    SAP HANA:持续创新十周年 今年是 SAP HANA 发布十周年.随着 SAP HANA 的诞生,SAP 成为了世界领先的内存计算数据库厂商.SAP HANA 也是 SAP 历史上成长最快的产品 ...

  8. SAP HANA Cloud 学习教程之二: 如何往SAP BTP 上 HANA Cloud 实例的数据库表里插入数据

    这个教程的前一篇文章,SAP HANA Cloud 学习教程之一: 如何在 SAP BTP 上创建 SAP HANA Cloud 实例,我们已经成功在 SAP BTP HANA Cloud Servi ...

  9. 【SAP Hana】X档案:SAP HANA SQL 基础教程

    SAP HANA SQL 基础教程 1.SQL 标准简介 2.HANA STUDIO 的安装 3.HANA STUDIO 的设置 4.HANA SQL 基础教程 (1)查看表数据 (2)查看表结构 ( ...

最新文章

  1. 干货丨有关机器学习每个人都应该了解的东西
  2. (0012) iOS 开发之MAC 终端命令学习
  3. html输入密码自动隐藏,原生js实现密码输入框值的显示隐藏
  4. 关于const记录类型全局变量赋初值的问题
  5. c++中多态---3(虚析构和纯虚析构,向上类型转化和向下类型转化)
  6. linux传文件file,linux文件的传输与压缩快速入门
  7. spring 事务的实现方式和原理_spring整合atomikos实现分布式事务
  8. 关于map的初级应用
  9. 关于find指令的一点使用小心得 II
  10. 回顾 | Apache Flink Meetup · 深圳站精彩回顾(附PPT下载)
  11. 经济学家德鲁克的三个故事
  12. 学海无涯!java全栈工程师面试题
  13. 计算机老师教师节祝福语,2020教师节祝福语精选
  14. Qt 窗口属性简介之Qt::WA_DeleteOnClose
  15. xp计算机找不到音量调节,关于电脑声音小喇叭图标XP中不见没有声音的恢复教程...
  16. DGM: A deep learning algorithm for solving partial differential equations
  17. 梦龙雪糕新代言人近日亮相,带来不止视觉与味蕾的欢愉享受!
  18. C1认证学习二十六(基础选择器)
  19. 随机模型,估计与控制 ——介绍
  20. 哈尔滨苹果手机iphone不开机维修

热门文章

  1. 萌宝出街,熊孩子逆袭小小“时髦精”
  2. [CareerCup] 18.9 Find and Maintain the Median Value 寻找和维护中位数
  3. JAVA引用和垃圾回收
  4. 走近OSSIM传感器(Sensor)插件
  5. 记一次数据库宕机处理
  6. Oracle数据库中number类型在hibernate的引用
  7. java加密文件夹_使用java.util.zip压缩文件夹,支持加密,增加描述
  8. 初识ES-安装kibana
  9. zookeeper的设计猜想-Follower角色
  10. 选择结构_标准if-else语句