|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.10.2022, 17:13 | #1 |
Новичок
Джуниор
Регистрация: 13.10.2022
Сообщений: 1
|
Оконные функции и длина строки
Имеется сложный результирующий SQL запрос, являющийся по сути неким вычисляющим и агрегирующим значения отчетом вида
Код:
однако про большом количестве строк выполнение запроса падает с ошибкой The query processor is unable to produce a plan because a worktable is required, and its minimum row size exceeds the maximum allowable of 8060 bytes. A typical reason why a worktable is required is a GROUP BY or ORDER BY clause in the query. По результатам исследований выяснилось что на размер строки влияют только условия WHEN в которых присутствуют функции LAG и LEAD. Хотя, по здравому смыслу, для каждой одной строки со своим RowNumber должно выбираться только одно соответствие условию WHEN, и игнорироваться остальные. Но нет, каким то образом длина строки растет именно пропорционально количеству WHEN, в которых присутствуют оконные функции, даже если RowNumber, являющийся условием WHEN, для этих строк не совпадает. И строка с номером RowNumber = 1 падает из-за превышения длины где то в конструкции CASE RowNumber. Что еще бредовее - падение наступает еще быстрее (при меньшем количество WHEN-ов) если в оконных функциях третьим параметром указывать дефолтное значение. Вопрос - кто-нибудь понимает как работает сиквел с данными оконными функциями? Почему они увеличивают длину строки даже в тех случаях, когда вообще не должны выполняться (отсекаются по несовпадению WHEN)? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оконные функции | Svetlana1111 | SQL, базы данных | 1 | 24.05.2022 13:18 |
Длина строки | AlexDn | Общие вопросы Delphi | 3 | 13.08.2018 02:06 |
Matlab прямоугольные оконные функции | Zema92 | Помощь студентам | 0 | 17.05.2014 19:46 |
Длина строки С++ | ArniLand | Общие вопросы C/C++ | 7 | 25.03.2010 10:59 |
обновление в блоге - Хуки в Windows. Часть третья. Оконные функции | Pblog | Обсуждение статей | 1 | 04.01.2010 13:20 |