Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
был написан запрос с cte Код: sql 1. 2. 3. 4. 5. 6. работает медленно, а выдача небольшая сильно быстрее работает такой вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. можно ли как-нибудь зафорсить для первого случая, чтобы экземпляр cte посчитался и буферизировался до всего последующего? какие-нибудь хинты материализации существуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2019, 16:13 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
поправка выдача cte небольшая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2019, 16:14 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
dklim.kzn, вы для начала пробуйте все-таки искать ответ самостоятельно. https://www.sql.ru/forum/713064/est-li-v-sql-server-analog-oraklovogo-hinta-materialize ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2019, 18:58 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
.Евгенийdklim.kzn, вы для начала пробуйте все-таки искать ответ самостоятельно. https://www.sql.ru/forum/713064/est-li-v-sql-server-analog-oraklovogo-hinta-materialize спасибо, я искал, но не работал с ораклом SELECT TOP (2147483647) это звучит классически )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 08:46 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
dklim.kzn.Евгенийdklim.kzn, вы для начала пробуйте все-таки искать ответ самостоятельно. https://www.sql.ru/forum/713064/est-li-v-sql-server-analog-oraklovogo-hinta-materialize спасибо, я искал, но не работал с ораклом SELECT TOP (2147483647) это звучит классически )) Код: sql 1. Имхо, должно иметь аналогичный эффект. Хотя я не уверен, попробуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 08:59 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
dklim.kznможно ли как-нибудь зафорсить для первого случая, чтобы экземпляр cte посчитался и буферизировался до всего последующего? какие-нибудь хинты материализации существуют?Возможно, так . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 10:26 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
очень интересно во-1 ничего не помогает, в том смысле, что запрос не завершается так же за 11 секунд, как и с переменной ни top (2147483647) ни top (9223372036854775807) ни top 9223372036854775807 ни top (select 100) percent ни top (@t) с предварительным declare @t bigint и select @t=9223372036854775807 во-2 интересно влияние option (recompile) от него запросу плохеет ровно также, как от неприменения табличной переменной то есть тормозит даже с использованием переменной на самом деле в плане отличие выявилось такое, что во всех тормозящих вариантах появляется предпоследняя строка Table Spool |--Table Spool |--Clustered Index Scan(OBJECT:(...)) таким образом, корень зла не в материализации cte, а вообще в другой жирной буферизации но она возникает как-то случайно) в том числе и при использовании cte вместо табличной переменной спасибо всем ответившим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 11:11 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
касательно recompile ситуация лучше option (NO_PERFORMANCE_SPOOL, recompile) но это опять таки помогает только в варианте с табличной переменной в варианте использования cte без табличной переменной - чуть лучше, но всё равно хуже, чем с табличной переменной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 11:57 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
не буду создавать отдельную ветку, но есть ли удобные средства редактирования сохраненного плана? в целом xml вроде понятен, но руками править... кроме того минус - вроде нельзя указывать в insert/delete/uplate (может быть, получится через указать во вью, но пока не до сук...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 14:48 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
dklim.kzn, авторкасательно recompile ситуация лучше option (NO_PERFORMANCE_SPOOL, recompile) автор Можно ли оптимизатору предписать сделать "временную таблицу"? действительно решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 15:23 |
|
||
|
Можно ли оптимизатору предписать сделать "временную таблицу"?
|
|||
|---|---|---|---|
|
#18+
TaPaKdklim.kzn, авторкасательно recompile ситуация лучше option (NO_PERFORMANCE_SPOOL, recompile) автор Можно ли оптимизатору предписать сделать "временную таблицу"? действительно решение Да непонятно Вроде спул и пропадает, а время исполнения не радует Планы глянул - ну вроде отличий не увидел между двукусочным и последним с опцией Надо детальнее смотреть, но пока отложу)) Да, еще и загрузка процессоров отличается Единым запросом она выше Это кроме увеличения времени Если не ошибаюсь, первый кусок выполняется сам по себе непараллельно быстрее, чем с параллелизмом Может быть когда он в едином запросе - из-за параллельности и тормоза и загруз Но сам по себе он менее секунды идет, параллелизм добавляет там полсекунды Первый кусок - это cte в табличную переменную Короче, интересно будет потом подокопаться как-нибудь) Персонально поздравляю с новым президентом Пущай он и прочее станет лучше прежнего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 20:57 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39804503&tid=1687921]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 273ms |
| total: | 544ms |

| 0 / 0 |
