Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
у меня задача простая группировка большой таблицы, и по ключу связывание со справочником, после этого из поля справочника выбрать текст и слегка его модифицировать. Сделал так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. так вот подзапрос выполняется за 8 сек и если делать через темповую таблицу все отлично итог 8 сек, но мне это надо внедрить в общий union и поэтому не хотелось бы городить темповые таблицы. сам подзапрос возвращает у меня 10 строчек и нагрузка справочник и модификация не существенна. Но если оставить вот так, то компилятор видимо вставляет это текстовое поле в общую выборку, и модифицирует текст для всех 10М+ строк и запрос уже считается 30 секунд. Думаю что есть какая то подсказка которая ему намекнёт что подзапрос надо выполнить как есть, но не могу её найти. Есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:42 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82Но если оставить вот так, то компилятор видимо вставляет это текстовое поле в общую выборку,Т.е вы план не смотрели, так гадаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:45 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
вот тут то я и застрял. ибо по плану он показывает честно все растраты на внутренний запрос, когда появляются внешние там по 0. Но если выполнять внутренний отдельно в темповую потом селект и связка со справочником то 8 сек Если совместно 30с и тут я не понимаю где косяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:52 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82вот тут то я и застрял. ибо по плану он показывает честно все растраты на внутренний запрос, когда появляются внешние там по 0. Но если выполнять внутренний отдельно в темповую потом селект и связка со справочником то 8 сек Если совместно 30с и тут я не понимаю где косяк. косяк - скалярка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:55 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82вот тут то я и застрял. ибо по плану он показывает честно все растраты на внутренний запрос, когда появляются внешние там по 0. Но если выполнять внутренний отдельно в темповую потом селект и связка со справочником то 8 сек Если совместно 30с и тут я не понимаю где косяк.Это вы так план пересказываете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:01 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
действительно если убрать функцию скалярную то запрос считается оперативно. но если этот запрос разбить на шагам сделать выборку в темп таблицу результат 10 строк и запустить ту же функцию на этих 10 строках то результат мгновенно. почему если она по моей логике делает тоже на самом деле начинает тратить ещё 20 секунд куда то. Про план запроса, я не в курсе как тут можно что то прикреплять) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:06 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82, можно попробовать OPTION(FORCE ORDER) но вообще запро - бред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:08 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82Про план запроса, я не в курсе как тут можно что то прикреплять)Сохранить в студии в файл и прицепить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:08 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
сказали же, замени свою скалярку. ну ,например, на табличную ф-ю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:08 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
Konst_Oneсказали же, замени свою скалярку. ну ,например, на табличную ф-ю табличная не даст ничего. inline ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:13 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
я не понимаю почему через вложеный скалярная функция все портит а через темповую нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:27 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
план через вложенный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:28 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
план через темповую группировка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:30 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
план через темповую выбока не влез в один блок по размеру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:30 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82я не понимаю почему через вложеный скалярная функция все портит а через темповую нет? может дело в количестве рз сколько она выполняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:31 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
если верить плану то когда она(функция) появляется, она срабатывает на 2 строках. а 10М+ строк уже сгруппировано к этому времени, по идее.. но по времени выполнения подозрение именно что план другой. хотя это уже вне моего понимания вот и думаю что дело в чём то простом, но в чём? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:38 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
ssa82я не понимаю почему через вложеный скалярная функция все портит а через темповую нет?Потому что наличие в запросе скалярной UDF исключает построение плана с использованием параллелизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:41 |
|
||
|
Подзапрос sql есть ли флаги для подсказок компилятору
|
|||
|---|---|---|---|
|
#18+
+ индекс на Import_Big.IndC_Flag не подходит, но кто заботиться о поднятии 0,5Гб.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:54 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39615490&tid=1690109]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 336ms |

| 0 / 0 |
