Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тормозят запросы в инструкции WITH при соединении Left / 4 сообщений из 4, страница 1 из 1
05.03.2020, 15:46
    #39934737
INTEG_PROD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят запросы в инструкции WITH при соединении Left
Здравствуйте я использую инструкцию WITH. Создаю один большой запрос, состоящий из нескольких и вывожу результат.
Я обнаружил такую проблему: Допустим делаю запрос по двум таблицам и сохраняю результат ПРИМЕР :
With
Запрос1 AS (SELECT ПолеСвязи FROM Табл1),
Запрос2 AS (SELECT ПолеСвязи FROM Табл2)

Далее Запрос1 объединяю через INNER JOIN с Табл2 или наоборот Запрос2 через INNER JOIN объединяю с Табл1 (просто для примера) например:
SELECT Запрос1.ПолеСвязи, Табл2.ПолеСвязи
INNER JOIN Табл2 on Запрос1.ПолеСвязи = Табл2.ПолеСвязи
Все быстро выполняется проблем нет.

Но если я вдруг пытаюсь два запроса объединить между собой, производительность значительно подает раз в 10 все зависит от строк в таблицах например:
SELECT Запрос1.ПолеСвязи, Запрос2.ПолеСвязи
INNER JOIN Запрос2 on Запрос1.ПолеСвязи = Запрос2.ПолеСвязи

Кто не будь сталкивался с такой проблемой?
Запрос1 или Запрос2 можно легко объединять с таблицами, но если попытаться их объединить с друг другом то начинаются значительные тормоза. Может не хватает какой либо еще инструкции я просто новичок.
...
Рейтинг: 0 / 0
05.03.2020, 16:31
    #39934778
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят запросы в инструкции WITH при соединении Left
INTEG_PROD
Кто не будь сталкивался с такой проблемой?
Никакой специальной "проблемы с WITH" нет.
Может, неправильно соединили, может, не хватает индексов для соединения.
Нужно более предметно смотреть, с запросами, описанием таблиц и индексов, с планами.
Для начала покажите хотя бы медленный запрос и его план.
...
Рейтинг: 0 / 0
05.03.2020, 16:54
    #39934796
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят запросы в инструкции WITH при соединении Left
INTEG_PROD,

Как насчет того, чтобы сначала выбрать во временные таблицы и потом соединять.

На временных можно индексы сделать.

Можно попробовать первый выбрать, потом соединить со вторым.
...
Рейтинг: 0 / 0
05.03.2020, 17:07
    #39934812
INTEG_PROD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят запросы в инструкции WITH при соединении Left
Ладно я пока посмотрю индексы потом напишу
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тормозят запросы в инструкции WITH при соединении Left / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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