People who
load data from an Oracle database into QlikView may sometimes want to use an
Oracle hint in the SQL query code. An Oracle hint tells Oracle about how you
would like it to plan and execute the query in order to get faster, more efficient
execution.
The Oracle
hint syntax is actually a comment embedded in the SQL query. For example, the
hint to tell Oracle to use up to four parallel processors might look like this
in the first line of the query:SELECT /*+ parallel(4) */ CUSTOMER, SUM(ORD_QTY) FROM . . .
If you simply
code a query like that in the loadscript you won’t get an error or a warning, the query will return data,
but you won’t get the performance improvement you were hoping for either. That’s
because QlikView doesn’t ordinarily pass comments through to the SQL processor.
Oracle would never see your hint.
What is
needed, is for you to tell QlikView not to strip out the comments before passing
the query into the SQL processor. Code a line like this before your loadscript
table definition:
Set
StripComments = 0;
ORDER_TABLE:
SELECT /*+
parallel(4) */ CUSTOMER, SUM(ORD_QTY) FROM . . .
The
StripComments variable is a system variable that controls QlikView behavior. Setting the variable to zero tells QlikView not to strip out the comments. It
is a good practice to turn StripComments back on after the query with a line
like this:Set StripComments = 1;
One thing to look out for is any other comments in your code. If you have a regular loadscript comment //(a comment beginning with two slashes) mixed in with your SQL code then it will cause a SQL error when it gets passed in to the SQL processor.
No comments:
Post a Comment