Подсказка Oracle в Loadscript

Рис 1

Люди, которые загружают данные из базы данных Oracle в QlikView иногда хотят использовать подсказки Oracle в коде SQL-запросов. Подсказки Oracle говорят Oracle о том, как Вы хотите спланировать и выполнить запрос, чтобы получить быстрое, более эффективное выполнение.

Синтаксис подсказки Oracle на самом деле соответствует комментарию в SQL-запросе. Например, подсказка Oracle использовать до четырех параллельных процессоров может выглядеть так в первой строке запроса:

SELECT /*+ parallel(4) */ CUSTOMER, SUM(ORD_QTY) FROM  . . .

Если Вы просто пропишите запрос, похожий на loadscript, то не получите извещение об ошибке или предупреждение, запрос вернет Вам данные, но Вы не получите повышение производительности, на которое надеялись. Это происходит потому, что QlikView обычно не учитывает комментарии к процессору SQL. Oracle никогда не увидит подсказку.

Так что же необходимо сделать, чтобы QlikView воспринимал комментарии, прежде чем передать запрос в процессор SQL. Пропишите код, такой же, до определения таблицы loadscript:

Set StripComments = 0;
ORDER_TABLE:
SELECT /*+ parallel(4) */ CUSTOMER, SUM(ORD_QTY) FROM  . . .

Переменная StripComments – системная переменная, которая управляет поведением QlikView. Установка переменной в ноль дает команду QlikView не вырезать комментарий. Это хорошая практика, включить StripComments снова после запроса с помощью строки кода:

Set StripComments = 1;

Следует обратить внимание на другие комментарии в коде. Если у Вас есть регулярные комментарии loadscript // (комментарий, которые начинаются двумя косыми черточками), которые смешаны с SQL-кодом, это может вызвать ошибку SQL, когда он передается в SQL-процессор.

 

Найти решение у бизнес-партнера QlikTech (QlikView) в России.

Форум разработчиков QlikView и Qlik Sense. Получите ответы на все вопросы по QlikView и Qlik Sense!

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

64 queries in 0,402 seconds