Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 10:40 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
А чего тут оптимизировать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 10:50 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
uaggster, Не знаю, что оптимизировать. Для меня пока это проблема. Таблицы и запрос можно менять как угодно. В TempFact2: 2,8 млн. cтрок. В DoNotTouch4: 35 млн строк. DoNotTouch4 заполняется за 2 часа. Хотелось бы за 20 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:14 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
uaggster, Правда за 2 часа заполняется 10 лет на каждый день с 2007 года. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:16 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
ondorsal, 1 left join, в первом запросе, смело меняешь на inner 2 зачем вообще 2-а запроса ? подзапрос, который L оформляешь как СТЕ, и Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 3 нуу и в идеале, ваще убрать цикл сформировать 2-е времянки (вместо L) : одна сгруппированная на дату @ss, и вторая - по дням между @ss и @ss2 и получить всё одним запросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:33 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Избавиться от цикла и считать нарастающий итог оконной sum. Плюс таблица-календарь. Пример Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:34 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
ondorsaluaggster, Не знаю, что оптимизировать. Для меня пока это проблема. Таблицы и запрос можно менять как угодно. В TempFact2: 2,8 млн. cтрок. В DoNotTouch4: 35 млн строк. DoNotTouch4 заполняется за 2 часа. Хотелось бы за 20 минут. Сгруппируй TempFact2 по датам, страдалец. ОДИН раз. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. и пользуйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39721292&tid=1688927]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 390ms |

| 0 / 0 |
