|
Можно ли как-то ускорить Lag()?
|
|||
---|---|---|---|
#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. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2021, 16:04 |
|
Можно ли как-то ускорить Lag()?
|
|||
---|---|---|---|
#18+
Андрей Усачёв, Неправильно сравниваете. Первый запрос будет с параллелизмом, второй - нет. Поэтому сравнивать нужно CPU time, а не elapsed time. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2021, 16:42 |
|
Можно ли как-то ускорить Lag()?
|
|||
---|---|---|---|
#18+
Андрей Усачёв Можно ли что-то сделать? Варианты 1. Рассказать нам "нафига козе баян"? Это самое эффективное. 2. Использовать инструменты по предназначению, т.е. юзать sum over. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2021, 17:45 |
|
Можно ли как-то ускорить Lag()?
|
|||
---|---|---|---|
#18+
Андрей Усачёв, Вы как-то странно мыслете, в реляционных системах нет понятия "обойти" и "вычислить предыдущее, потому что в них нет ни прошлого, ни будущего. Какие-либо действия по сортировке можно применить только к окончательному результату. Какую задачу Вы хотите решить? Расчёт нарастающего итога? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:38 |
|
|
start [/forum/topic.php?fid=46&fpage=14&tid=1684281]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 428ms |
0 / 0 |