
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.12.2018, 16:07
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Систем на линуксе CPU норм от 50-60 % не поднимается. RAM подняли до 64 тоже норм . Проблема в процедуре , при вызове процедуру из пакета через java(jdbms). Система тормозит. Процессы поднимаюстя v$process от 40 до 200. В чем проблема может быть , помогите пожалуйста. Процедура возвращает обычный курсор без цикла Вопрос жизни и смерти. Спасибо Вот собсно сама процедура. Код: 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. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 16:09
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Отмечу , что когда вызываю SELECT через базу , она выдает результат за 3-4 секунд. Еще отмечу , что на данный момент этой процедурой пользуются около 50-7- человек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 16:33
|
|||
|---|---|---|---|
|
|||
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, ключевые слова: планы, child cursor, sql profile/baseline/patch, v$sql, v$sql_shared_cursor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 16:40
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, сравнивайте планы, в процедуре они могут поплыть как вариант " что когда вызываю SELECT через базу " используется FIRST_ROWS, а в "процедуре" ALL_ROWS ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 16:48
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
xtenderFrequency, ключевые слова: планы, child cursor, sql profile/baseline/patch, v$sql, v$sql_shared_cursor А также подумать про селект с точки зрения баз данных. Первое что бросаеться в глаза T.EXAM_STATUS IN ('G', 'B', 'B(dav.)', 'B(pay.)', 'Q') может иметь только эти значения или null, т.о. проверить на null проще Второе T.EXAM_STATUS получет значения ('G', 'B', 'B(dav.)', 'B(pay.)', 'Q') чтобы быть переопределенным THEN DECODE (T.EXAM_STATUS, 'G' , ' S' , 'B' , ' B/r (R)', 'B(dav.)', ' B/r (T)' , 'B(pay.)', 'B/r(Payment)', 'Q', 'Y*', '' ) не проще ли сразу присваивать правельные значения? Третье Код: plsql 1. 2. 3. 4. PEP.STATUS не может = 0 он может или =1 или null, т.о. подумать а нужна ли эта таблицы вообще Четвертое использовать distinct and ORDER BY JR.FULLNAME для получения ROWNUM R - может глянуть в сторону row_number() over ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 16:53
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
StaxFrequency, сравнивайте планы, в процедуре они могут поплыть как вариант " что когда вызываю SELECT через базу " используется FIRST_ROWS, а в "процедуре" ALL_ROWS ..... stax планы можете по конкретней , спасибо ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 17:18
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, Код: plsql 1. 2. 'B(dav.)' никогда не наступит, потому как если EUS.STATUS = 0 то будет 'B' и как следствие второе условие никогда не выполнится Код: plsql 1. тут нет смысла считать count, лучше переписать на exists или проверить до OPEN P_CURSOR1 FOR Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. не переводить в to_char() в потому что потом работаете с number - неявное преобразование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 17:27
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency планы можете по конкретней , спасибо ? не совсем понял вопрос что тут конкретней сравните планы для 1) когда вызываю SELECT через базу 2) при вызове из пакета через java(jdbms) зы еще можно проверить в плюсе (чтоб отбросить java) SQL> var my_cursor1 REFCURSOR; SQL> var my_cursor2 REFCURSOR; SQL> exec PROC_NAME(100,200,my_cursor1,my_cursor2) SQL> print my_cursor1 зыы процедура возвращает ДВА курсора ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 17:36
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, Код: plsql 1. 2. 3. 4. 5. с JR.BEFORE_EXAM_TOTAL Вы всегда работаете через ROUND (JR.BEFORE_EXAM_TOTAL) .... округлите его 1 раз в первом селекте, нет смысла постоянно его округлять. По выделенному маркером ... ну прям масло масленное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 17:48
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, Код: plsql 1. 2. 3. 4. 5. Очередное условие которое никогда не настанет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2018, 18:45
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
То есть насколько бы не были параметры сервера , если ВЫБОРКА написано криво. Серверу крышка ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2018, 11:29
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Проблема в другом убрал все столбцы вывожу только count(*). Как только включаю процедуру процессы растут. Наблюдаю за v$sql все запросы где растут процессы идут именнo через этот запрос , около 700 запросов , что приводит к торможению системы. Отмечу что в таблице ACA_MANAGEMENT.JOURNAL около 12 млн информации в остальных максимум 10000 Код: 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.12.2018, 12:16
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
FrequencyНаблюдаю заV$SESSION_EVENT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2018, 13:27
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, А попробуйте так дописать Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2018, 13:28
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Frequency, И интересно на план этого запроса глянуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2018, 20:22
|
|||
|---|---|---|---|
При вызове процедуры из пакета система тормозит |
|||
|
#18+
Всем спасибо за помощь. Проблема была в корявом javascripte на click button-a не был поставлен блок , соотвесно в базу отправлялись по гесколько запросов , что и привело к торможению . Но и не исключаю , что и в выборке была проблема , исправил все что вы посоветовали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1882975]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 514ms |

| 0 / 0 |
