powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про курсоры и динамическеий SQL. Ваше мнение
4 сообщений из 4, страница 1 из 1
Вопрос про курсоры и динамическеий SQL. Ваше мнение
    #39602163
Oomel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех приветствую.

Насколько, по вашему мнению, оправдано использование динамического sql в курсоре, если при работе с таблицей, насчитывающей около 10кк записей, я получаю прирост производительности примерно на 78%, по сравнению с обычной выборкой.

Курсор построен по таблице (предположим TRULES), хранящей правила выгрузки.
Выборка осуществляется из таблицы (TSOURCE), хранящей данные.

В таблице RULES количество записей вряд ли будет превышать 3,5к (на данный момент 2829)
Таблица TSOURCE толстеет каждый год примерно на 4кк.

Суть в том, что в зависимости от значения полей TRULES можно сформировать различные запросы к TSOURCE, максимально задействующие индексы.

Если же делать выборку за один запрос, то приходится использовать вычисления в join по полям таблицы TRULES, т.к. она содержит только шаблоны ограничений.
Например, поле TRULES.FIELD1 может содержать значения {'%'(процент),variable(случайное значение, может быть = '')} и теперь при соединении таблиц нужно смотреть: Если TRULES.FIELD1 = '%' Тогда любое значение Иначе TRULES.FIELD1.
LIKE отпадает, т.к. в таблице TRULES есть поля с типами int и binary(8), по которым тоже нужно ограничивать TSOURCE.

При таком подходе выборка из 1кк записей производится 02:42, но за один запрос.
С курсором за 00:37, но за 2829 запросов.
...
Рейтинг: 0 / 0
Вопрос про курсоры и динамическеий SQL. Ваше мнение
    #39602180
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oomel
При таком подходе выборка из 1кк записей производится 02:42, но за один запрос.
С курсором за 00:37, но за 2829 запросов.
вы просто не умеете писать запросы,а курсор с динамикой внутри - вообще без коментариев
...
Рейтинг: 0 / 0
Вопрос про курсоры и динамическеий SQL. Ваше мнение
    #39602183
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxxOomelПри таком подходе выборка из 1кк записей производится 02:42, но за один запрос.
С курсором за 00:37, но за 2829 запросов.
вы просто не умеете писать запросы,а курсор с динамикой внутри - вообще без коментариевА где запрос-то? Чего-то я не вижу. Только бла-бла-бла. Гуманитарий!
...
Рейтинг: 0 / 0
Вопрос про курсоры и динамическеий SQL. Ваше мнение
    #39602186
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь, то запрос для курсора всегда будет перекомпилироваться, по этому динамика там или нет не важно.
А так оба пункта соответсвуют аксиоме Эскобара :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про курсоры и динамическеий SQL. Ваше мнение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]