Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Slow performance in AMDP

aasim_khan
Participant
0 Kudos

Dear SCN Members,

In one of blogs by Horst Keller, he wrote about performance improvement in string concatenation.

I'm fortunate to be working on SAP 750 with HANA DB; so I thought of checking the performance when strings are concatenated at DB level. I added my comments and Horst, being always helpful, gave me some pointers to do performance testing.

To my surprise, the results with AMDP is taking a lot of time when checked in SAT and GET RUN TIME.

Now I'm not aware of what's happening under the hood but would love to learn why and where AMDP is slowing down.

I've attached a Word document having code, results and screenshots to avoid cluttering this space.

Thanks!

1 ACCEPTED SOLUTION

horst_keller
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Aasim,

The test missing here is calling the AMDP procedure directly with Native SQL (ADBC or EXEC SQL).

I expect the same "bad" performance as for calling it via AMDP.

If this is the case, the reason is not AMDP but an overhead in calling procedures in HANA itself. According to my informations this problem is under investigation by the HANA colleagues.

Horst

4 REPLIES 4

horst_keller
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Aasim,

The test missing here is calling the AMDP procedure directly with Native SQL (ADBC or EXEC SQL).

I expect the same "bad" performance as for calling it via AMDP.

If this is the case, the reason is not AMDP but an overhead in calling procedures in HANA itself. According to my informations this problem is under investigation by the HANA colleagues.

Horst

0 Kudos

Hi,

I'm glad to hear that might be the cause.

I once asked a similar question, but never really got response:http://scn.sap.com/thread/3926990 . I never did the kind of testing with native SQL and so, I'm still learning about AMDP in sorts.

Now I am hoping for the best.

Thanks a lot.

Kris

0 Kudos

Thank you, Horst.

Well, here you go! The results using ADBC are better compared to AMDP.

horst_keller
Product and Topic Expert
Product and Topic Expert

Hello,

I asked a real expert and the result is:

In the AMDP result structure there is a string. That triggers a LOB handling for the result set.

In EXEC SQL and ADBC by default there is no LOB handling for the result set, but data that are too long are cut.

If you switch off the LOB handling by using the dictionary type SSTRING instaed of STRING the performance of the AMDP call should improve.

Another way around, using parameter IS_LOB of method SET_PARAM in ADBC should switch on LOB handling and the performance should get worse.

Horst