
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.02.2018, 15:04:24
|
|||
|---|---|---|---|
|
|||
много with или временные таблицы |
|||
|
#18+
Доброго дня, Есть теоретический вопрос. На форуме не нашел похожей темы, а на msdn - сравнения производительности подходов. Пишу запрос. В нем есть несколько блоков, которые можно вынести в with перед основным запросом или собрать во временные таблицы и потом уже использовать их. Если данных порядка 100 тыщ в блоках и их больше 3, что быстрее работать будет? With a as (),b as (),c as() select или select into #a select into #b select into #c select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.02.2018, 15:15:04
|
|||
|---|---|---|---|
много with или временные таблицы |
|||
|
#18+
holod-iinnaЕсли данных порядка 100 тыщ в блоках и их больше 3Посчитайте требуемую память - если нагрузка от таких объёмов на сервер явно невелика, лучше использовать CTE... при условии, что не удаётся получить серьёзного прироста в скорости за счёт индексации временной таблицы. Ну а если временная таблица может быть использована повторно в рамках сессии, несомненно надо отдать предпочтение ей... Это всё, конечно, в самом первом приближении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.02.2018, 15:51:31
|
|||
|---|---|---|---|
много with или временные таблицы |
|||
|
#18+
Разработчики часто выносят повторяющиеся части запроса в cte. Запрос получается короткий, выразительный и удобочитаемый. Это хорошо до тех пор, пока итоговый запрос сравнительно небольшой, сервер может выбрать быстрый план, мало повторных чтений одних и тех же данных. При усложнении запроса вероятность выбора быстрого плана снижается, много повторных чтений. Тогда вариант с временными таблицами может сильно выиграть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1690228]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 365ms |

| 0 / 0 |
