|
Тормозят запросы в инструкции WITH при соединении Left
|
|||
---|---|---|---|
#18+
Здравствуйте я использую инструкцию 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 можно легко объединять с таблицами, но если попытаться их объединить с друг другом то начинаются значительные тормоза. Может не хватает какой либо еще инструкции я просто новичок. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:46 |
|
Тормозят запросы в инструкции WITH при соединении Left
|
|||
---|---|---|---|
#18+
INTEG_PROD Кто не будь сталкивался с такой проблемой? Может, неправильно соединили, может, не хватает индексов для соединения. Нужно более предметно смотреть, с запросами, описанием таблиц и индексов, с планами. Для начала покажите хотя бы медленный запрос и его план. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:31 |
|
Тормозят запросы в инструкции WITH при соединении Left
|
|||
---|---|---|---|
#18+
INTEG_PROD, Как насчет того, чтобы сначала выбрать во временные таблицы и потом соединять. На временных можно индексы сделать. Можно попробовать первый выбрать, потом соединить со вторым. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:54 |
|
|
start [/forum/topic.php?fid=46&tid=1686379]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 146ms |
0 / 0 |