溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解SAP HANA Hint

發布時間:2021-11-23 15:27:46 來源:億速云 閱讀:274 作者:柒染 欄目:數據庫

本篇文章為大家展示了如何理解SAP HANA Hint,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

什么是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個:

如何理解SAP HANA Hint

用法: 如下圖紅色下劃線所示:

如何理解SAP HANA Hint

如果您的Netweaver用的數據庫是HANA,而您又想把這些Hint用在ABAP Open SQL里,那么可以使用語法: %_HINTS HDB后跟Hint的具體內容。例如下圖:

如何理解SAP HANA 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里能查到。

如何理解SAP HANA Hint

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來響應數據請求。

如何理解SAP HANA Hint

我的一個實際工作中的例子:這個簡單的報表從HANA數據庫中讀取100條描述信息包含了文本”2017-12-11″的服務訂單:

如何理解SAP HANA Hint

總共花費了15秒鐘:

如何理解SAP HANA Hint

而當我加上NO_CS_JOIN的hint之后,

如何理解SAP HANA Hint

性能提升到不到1秒即完成了數據查詢。

如何理解SAP HANA Hint

在note 2142945的末尾還包含很多其他有用的note。將來如果工作需要,我會將這些note陸續翻譯成中文并加上自己的理解。

如何理解SAP HANA Hint

上述內容就是如何理解SAP HANA Hint,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女