$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
avatar image
Former Member

Hana Analytical Engine vs. SQL Engine

Hi,

We are on a Hana 126 environment. We have a query like

SELECT COUNT(DISTINCT "/BIC/ZCOLUMN") 
FROM "ZTABLE";

wich is executed in about 300 MS, in a partitioned table with more than 1 B records.

When we change the query to

SELECT COUNT(DISTINCT "/BIC/ZCOLUMN") 
FROM "ZTABLE"
GROUP BY 1;

the query become slowly and takes about 300 S, so is 1000 times slower.

Through POPs used by both queries (in planviz), we can see the primary cause of the difference is that in first clause Hana uses Analytical engine, and in second clause the SQL engine.

We´ve tried with "USE_OLAP_PLAN" in second clause, but query is still using SQL engine (¿?¿?¿).

So, our question is:

- Where can we found information about the execution engine decision for a given SQL clause?

- Any advise or recomendation?

Thanks in advance!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Jun 23, 2017 at 08:11 AM

    - Where can we found information about the execution engine decision for a given SQL clause?

    A: you already found it: PlanViz is the right tool to review the optimizer result for any given query. There is, however, no fixed documentation of the built-in optimizer functions.

    - Any advise or recomendation?

    A: Given the scenario above, I'd recommend to use the faster option then.

    Add comment
    10|10000 characters needed characters exceeded