|
|
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть процедура: Код: pascal 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. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. Код: pascal 1. выполняется блокировка таблицы для присвоения номера счета-фактуры типа Код: plsql 1. . После процедуры закрытия чека в той же транзакции отрабатывает "тяжелая" процедура Код: pascal 1. . С системой работает большое количество операторов, поэтому когда выполняется операция закрытия чека одним оператором, другие вынуждены ждать снятие блокировки с S_BILJRN таблицы. Процедуру Код: pascal 1. [/SRC] модифицировать нельзя. Подскажите, пожалуйста, каким образом можно оптимизировать закрытие чека, чтобы блокировки свести к минимуму!? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 06:49:31 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gisterкаким образом можно оптимизировать закрытие чека, чтобы блокировки свести к минимумуИх не должно быть, блокировок. В закрытии чека должны быть только insert-ы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 11:05:51 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
Инсерты есть но блокируется таблица S_BILJRN и после нее выполняется еще несколько операций до commit'a получаем блокировку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 11:14:29 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
Блокировка нужна чтобы не было наложений на номера счетов - фактур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 11:15:44 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gisterБлокировка нужна чтобы не было наложений на номера счетов - фактурВидимо, я не пгмогу, т.к. не понимаю, зачем блокировать таблицу вообще в принципе и какие могут быть наложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 12:51:51 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
Много клиентского кода до коммит. Это что: Код: pascal 1. 2. 3. 4. 5. 6. 7. Не тяжеловато ли, чтоб все кассы ждали, пока у одного Create(nil)/Free. А если эксепшн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 13:27:33 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
Это запуск операции сценария, серверная процедура оплаты по pos терминалу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 18:32:10 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gisterЭто запуск операции сценария, серверная процедура оплаты по pos терминалуОракл постерминалом управляет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 19:01:17 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
YuRock, В оракле подготовка данных, после обработка в dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 19:13:00 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gister, Функцию этой dll Оракл вызывает? Если да - это ужас. И опять же, не понимаю, что там готовить. Терминалу нужна сумма и всё. Сумму чтоль эта процедура готовит? Всё как-то очень сложно у вас. Не понятно, зачем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 19:22:47 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
В системе нужны проводки плюс ведётся журнал операций, поэтому нужен вызов дополнительных операций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 19:33:32 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gisterВ системе нужны проводки плюс ведётся журнал операций, поэтому нужен вызов дополнительных операцийКаких операций, если дело еще даже до терминала не дошло, не то, что до кассы? Ну я понимаю еще "начало операции" записать для защиты от сбоев, ну хорошо. Еще что - я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 19:46:23 |
|
||
|
Рефакторинг и оптимизация процедуры
|
|||
|---|---|---|---|
|
#18+
gisterВ конце серверной процедуры Код: pascal 1. выполняется блокировка таблицы для присвоения номера счета-фактуры типа Код: plsql 1. Я не вижу тут блокировки таблицы. Блокируется конкретная запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2017, 22:16:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39529030&tid=2041767]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
294ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 573ms |

| 0 / 0 |
