Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Помогите оптимизировать запрос. Выглядит он монстрообразно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Очень бы хотелось избавиться от EXISTS или NOT EXISTS , оставив один из них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 10:43 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Оба EXISTS Можно вынести в WITH. Первый присоединить JOIN'ом, второй LEFT JOIN'ом с условием, что второй не имеет соответствующих записей: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Ну и неплохо было бы избавиться от NOT IN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 11:26 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
По мне, запрос маленький и скромный, никак не "монстрообразный". Разве что с ANSI-джойнами он читался бы намного лучше (чтобы условия соединения были отдельно от условий фильтрации и рядом с соответствующими таблицами). Код: 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. В постановке задачи не хватает определений ключей, потому что хочется выкинуть "PUBLCOVER A" - это возможно при соблюдении некоторых условий (хотя. правда, они здесь вряд ли выполняются). вот это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. очевидный "кандидат" на "вьюху", но запрос такой маленький, что вроде бы и не стоит этим заниматься. Замена not exists на left join с is null может ускорить, замедлить или не сказаться никак - это надо проверять, сравнивать планы и время выполнения. В любом случае, design adivsor (db2advis) рулит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 12:03 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. то бишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 12:04 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Мне он возможно он не такой монстрообразный, но заказчик считает, что нужно избавиться. На его основе будет писаться другой запрос, вот тогда он точно будет огромный. Ещё бы хотелось избавиться от AND A.COVAREA NOT IN (1823, 34) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 12:15 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
telal, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 12:47 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Похоже на самое лучшее (ещё можно AND B.COVAREA_PRODCODE IS NOT NULL убрать ввиду B.COVAREA_PRODCODE = C.PRODCODE?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 13:06 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, к сожалению резалтсет не такой как в первоначальном запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 15:56 |
|
||
|
Помогите оптимизировать запрос db2
|
|||
|---|---|---|---|
|
#18+
Пример покажите, a la Код: 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. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2015, 18:12 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=16&tid=1600707]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 294ms |
| total: | 444ms |

| 0 / 0 |
