следующим: Есть cv, в которой необходимо объединить две другие cv через Union. Каждая по отдельности отрабатывает за 3 мин. Но после Union выполнение увеличивается до 10 мин. В плане выполнения запросов через planviz не силен, тем более, что planviz падает по памяти, давая сохранить только xml. Такое чувство после union all, план выполнения запроса супер большой и тяжелый из-за большой вложенности cv. Погуглил, что достаточно распространенная проблема, но решения так и нашел. Может кто сталкивался с таким. Может есть какой нибудь hint , чтобы оба «вложенных» запроса (сv перед union)выполнялись по отдельности и затем мерджились?
NO_INLINE
Спасибо, попробую
Добрый день! Не подскажете, правильно ли hint подключил. Вроде бы сделал согласно sap help, но план выполнения запроса остался таким же
А работает в CV? У меня так и не получилось заставить работать
А может и нет. В коде хорошо работает. Помогает убрать проблемы с памятью и плохую оптимизацию кода.
Добрый день. Update по данному вопросу))) Использования хинтов, в том числе no_calc_view_unfolding не привело к повышению производительности. Единственным work around решением, которое увеличивает производительность почти вдвое,нашел заменить конструкцию union node с вставленными в нее cv на композит провайдер с добавленными в него cv , с последующем обращением к композиту через select для последующих расчетов. Сейчас немного в замешательстве почему так происходит. Планы запросов пока не сравнивал и не анализировал. Мб. у вас есть мысли или опыт почему так происходит
У вас CV в проджекшене и потом в юнион идёт?
В поле name - имя хинта (этот no_calc_view_unfolding), в поле value пробуй единицу.
С хинтом No unfolding производительность хуже (
это логично) идея no unfolding - не пытаться раскрывать и оптимизировать , а выполнять в лоб. он помогает когда оптимизатор глючит и (быстро) выдает неверный результат.
Обсуждают сегодня