|
|
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, разберите на union ... ктож знает Ваши индексы Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:17 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXLDshedoo, Там есть куда руки приложить ... else 0 можно игнорить ... все равно null под суммой будет проигнорирован. если добавлять f.saletype in ('WO','WI','CS','CR') то тогда уже так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Хотя так я бы прокоментировал что хотел сказать автор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. результат запроса правильный, выполнялся 87 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:20 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXL Получилась, конечно, красота. Круто! Но время выполнения 68 сек 1. запрос Код: plsql 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. план: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. тогда как запрос Код: plsql 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. выполняется за 13 сек план: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:35 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, Потому что второй запрос не соответствует первоначальному условию: пропущен and f.salelocationfrom = -2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:45 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, Попробуй-ка так: Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:48 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXLlYY, Потому что второй запрос не соответствует первоначальному условию: пропущен and f.salelocationfrom = -2 Точно, это моя ошибка) Еще раз спасибо всем за помощь! ЗЫ: Разработчики озадачены, админы пьют пиво)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:53 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
Повелитель индексов, Группировку по f.saledate надо выкинуть: Код: plsql 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. lYY, или так: Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:58 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
Повелитель индексов, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 47 сек Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 2 сек Надо разобраться, так ли нужно условие: and f.salelocationfrom = -2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 15:58 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Код: plsql 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. 67 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:03 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, А этот вариант? Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:06 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, Так:? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:09 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXLlYY, А этот вариант? Код: plsql 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. 59 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:11 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, по одному магу 47 сек по всем 59 ... как по мне - ускорился в 10 раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:15 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, И снял нагрузку на базу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:15 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXLlYY, по одному магу 47 сек по всем 59 ... как по мне - ускорился в 10 раз да по одному магазину я все запросы тестирую))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 16:23 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, Тогда странно, запрос с ненужным f.saledate предложенный "Повелитель индексов" отработал 47 сек, а с выкинутым из запроса f.saledate - 59 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 17:03 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
сейчас еще раз попробовал, но на 5 магазинов: исходный 212 сек через union 192 сек через union без saledate 165 сек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 17:48 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY[ Но время выполнения 68 сек ... BITMAP CONVERSION TO ROWIDS ... тогда как запросотключи битмап конвертацию на уровне сессии и посмотри чего будет со временем исполнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 18:10 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхlYY[ Но время выполнения 68 сек ... BITMAP CONVERSION TO ROWIDS ... тогда как запросотключи битмап конвертацию на уровне сессии и посмотри чего будет со временем исполнения... А если мы будем использовать вложенный селект? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2017, 11:58 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYYсейчас еще раз попробовал, но на 5 магазинов: исходный 212 сек через union 192 сек через union без saledate 165 сек 212с, ето 3,5 минуты для МЕСЯЧНОГО отчета, не партесь, подождут зы авторЗапрос выполняется минут 10 (диски ssd) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2017, 14:25 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
Dshedoo, Тогда лучше так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. или так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2017, 15:13 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
MaximaXXL Код: plsql 1. Код: plsql 1. Тут оракл побежит по 2 индексам. Из-за этого 1 запрос отрабатывает 2 секунды, а другой 67. Не уверен, что оракл не станет "оптимизировать" вложенный селект, но, думаю, попробовать стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2017, 08:22 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
lYY, ограничение снизу сделайте. т.е. диапазон. Смысл условия ? Код: plsql 1. наример Код: plsql 1. Где :p1 нижний предел даты. Выборка на 10 гигах, подозреваю, должна отрабатыввать в долях секунды. lYYСуммирует себестоимость за месяц и остатки за весь период по магазинам 111,112,120,121,122 соответственно посмотреть на Код: plsql 1. т.е. Аналитические функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 07:59 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
условие Код: plsql 1. фактически говорит "выбрать все записи". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 08:01 |
|
||
|
Помогите оптимизировать запрос
|
|||
|---|---|---|---|
|
#18+
stells2условие Код: plsql 1. фактически говорит "выбрать все записи". для некоторых кодов ему и надо "выбрать все записи" Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 10:48 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39565993&tid=1884747]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 384ms |

| 0 / 0 |
