Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк) визуально - секунда против трех запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. без вставки во времянку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. со вставкой во времянку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. С уважением, Андрей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:24 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
причем такая хрень работает моментально Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:27 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
к сожалению, план посмотреть не могу... прав не дали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:31 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
так сколько страниц в результате занимает первая переменная и сколько вторая? т.е. вторая это всяко 1 страница, а 8 строк, где каждай строка (возможно) по полстраницы, это 8 строк, да еще и не в dedicated extent, а в mixed. т.е. вообще может быть в 8 разных экстентах, и все это надо аллокейтить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:34 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Yasha123, ну прям выделение страниц столько времени это аномально. Я бы грешил на переменную таблицу, смените на веременную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:36 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymxк сожалению, план посмотреть не могу... прав не дали по-вашему что, просто селект и инсерт того же селекта в переменную еще и разные планы имеет? ну кроме самого оператора инсерта, разумеется, которого нет в первом плане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:36 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
TaPaK, может у него офигительнейшая нагрузка на темпдб, которая еще и в одном файле живет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:37 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
TaPaKYasha123, ну прям выделение страниц столько времени это аномально. Я бы грешил на переменную таблицу, смените на веременную кстати, что вообще за удивление такое, tempdb contention это очень даже распространенное явление, как раз из-за вот таких мелкопакостных аллокейшенов в <= 8 страниц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:39 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
The Accidental DBA (Day 27 of 30): Troubleshooting: Tempdb Contention чисто для ознакомления. если у него нет showplan, то кого уже мониторить ожидания на темпдб. --- еще мою гипотезу можно проверить так: запустить тот же код для временной таблицы и для постоянной. и вот если временная все тот же тормоз, то это оно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:46 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Пример - это часть табличной функции. Остальные предположения проверю вечером, когда доберусь до компа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:54 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Yasha123, тут бы тогда был вопрос не про медленный инсёрт, а "ВСЁ ТОРМОЗИТ СПАСИТЕ ПОМОГИТЕ" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:55 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Как я уже писал, простой инсерт во времянку ста строк летает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:58 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymx, А попробуйте оставить inner merge join, но только сделать null as Activity_AssignedToUser_sAMAccountName вместо pers.sAMAccountName as Activity_AssignedToUser_sAMAccountName... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:16 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymxКак я уже писал, простой инсерт во времянку ста строк летает офигеть. сравнили SELECT top 100 и 5 join + 1 merge join к табличной функции (не факт, что инлайн) c WHERE и (возможно|скорее всего) без индексов ... да у вас может быть все что угодно, начиная spooling и заканчивая серверной волчанкой. ... Если нет доступа к SHOWPLAN, добавьте к обоим запросам статистику по IO и OPTION ( MAXDOP 1 ) добавьте, как рекомендовали, третий запрос на вставку в #activities ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:21 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymxКак я уже писал, простой инсерт во времянку ста строк летает вы же вставили всего 1 страницу, а вы вставьте не наллы, а что-то типа replicate(N'a', 4000) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:27 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymx, Без инсерта у вас параллельный план - CPU много больше elapsed. Поэтому и секунда вместо трех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:28 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Руслан ДамировичandreymxКак я уже писал, простой инсерт во времянку ста строк летает офигеть. сравнили SELECT top 100 и 5 join + 1 merge join к табличной функции (не факт, что инлайн) c WHERE и (возможно|скорее всего) без индексов ... да у вас может быть все что угодно, начиная spooling и заканчивая серверной волчанкой. ... Если нет доступа к SHOWPLAN, добавьте к обоим запросам статистику по IO и OPTION ( MAXDOP 1 ) добавьте, как рекомендовали, третий запрос на вставку в #activities нет, не так. он сравнл просто селект того же самого, где 5 join и еще что-то со вставкой **того же самого** в переменную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:30 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
invm, Помнится, как-то в 2012-м Поль Уайт объяснял, что очень не любит движок делать параллельные merge join. Там правда шла речь о "There are ways to achieve running whole query plans on multiple threads over exclusive data set ranges, but they require trickery that not everyone will be happy with (and will not be supported by Microsoft or guaranteed to work in the future)" касательно секционированных таблиц, но все же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:37 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
invmandreymx, Без инсерта у вас параллельный план - CPU много больше elapsed. Поэтому и секунда вместо трех.что-то похожее приходило голову ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 19:51 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
invmandreymx, Без инсерта у вас параллельный план - CPU много больше elapsed. Поэтому и секунда вместо трех.похоже, всё так и есть добавил в запрос OPTION (MAXDOP 1), и оба варианта начали работать по три сек добавление же OPTION (MAXDOP 3) инсерт не ускорило ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 23:03 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
переписал на курсор - стало быстро, одна сек но не нравится эта куча полей и переменных, в оракле всё-таки курсоры удобнее ЗЫ: оставлю в памяти на всякий случай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 23:20 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
andreymxпереписал на курсор - стало быстро, одна сек Честно, фейспалм. Вам же сказали что вставка в табличную переменную будет последовательной всегда. Во временную таблицу может быть парелелльной. От того что Вы напишете MAXPOD 3 это не заставит сиквел юзать параллелизм. Для этого хинты используются другие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:14 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
Табличные переменные очень медленные. Используй только в крайних случаях. Обычные времянки рулят. зы: привет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:25 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
AlanDentonandreymxпереписал на курсор - стало быстро, одна сек Честно, фейспалм. Вам же сказали что вставка в табличную переменную будет последовательной всегда. Во временную таблицу может быть парелелльной. От того что Вы напишете MAXPOD 3 это не заставит сиквел юзать параллелизм. Для этого хинты используются другие.спасибо, подумаю, удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:25 |
|
||
|
инсерт во времянку намного медленнее, чем просто запрос (возвращает 8 строк)
|
|||
|---|---|---|---|
|
#18+
LSVТабличные переменные очень медленные. Используй только в крайних случаях. Обычные времянки рулят. зы: приветмне нужна функция, возвращающая табличные данные Или даже так: мне необходимо сформировать отчет, в котором очень много формирований, данные из разных источников (таблиц и вьюх) Обычной вьюхой можно нарисовать, но будет очень громоздко и несопровождаемо вот хочу разбить формирования по процедурам или функциям Советуйте, как правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 12:18 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39582328&tid=1690519]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 373ms |

| 0 / 0 |
