|
|
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
Годная ли практика использовать функции, которые принимают, либо возвращают заполненные коллекции? и как в этому случае происходит освобождение памяти? (dbms_session.free_unused_user_memory) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 11:37:17 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondпамятиRTFM Subprogram Parameter Modes (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 11:51:38 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
Elic, простите, это ответ на какой вопрос из тех что я задал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:09:32 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondГодная ли практика использовать функции, которые принимают, либо возвращают заполненные коллекции? Вполне себе практика. PsyDiamondкак в этому случае происходит освобождение памяти Вроде как ушел из блока видимости переменной, ну память и очистилась ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:29:37 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondElic, простите, это ответ на какой вопрос из тех что я задал? это ответ на все ваши вопросы, вы сначала почитайте и подумайте, а потом поймете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:29:51 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
НинадаНичегоЧиститьPsyDiamondкак в этому случае происходит освобождение памяти Вроде как ушел из блока видимости переменной, ну память и очистилась )есть еще такой аспект, как переприсвоение в цикле. Но тогда вопрос касается любых динамически выделяемых данных, в том числе длинных строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:38:36 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
пробегалPsyDiamondElic, простите, это ответ на какой вопрос из тех что я задал? это ответ на все ваши вопросы, вы сначала почитайте и подумайте, а потом поймете не прельщает меня практика возвращать данные через out параметры если вы про то что я передаю тип по значению - тут согласен можно передать ссылку. вопрос то в другом. если я использую record состоящий из table of, то как происходит освобождение памяти? и как в этом случае хранятся данные - по значению или ссылкой? и прочее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:46:14 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
коллектор мусораЕсть еще такой аспект, как переприсвоение в цикле. Но тогда вопрос касается любых динамически выделяемых данных, в том числе длинных строк. Хотите сказать, если в цикле присваивать разные значение например varchar2 переменной, будет отжираться память? Да ну не, не верю ) Если в цикле динамически добавляем элементы в коллекцию, то само собой, но никакие фримемори все равно ж не нужны ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:49:57 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamond, по значению/ссылке это про "хранятся". а проверить гипотезы несложно, проведя экскременты с засечкой времени и памяти на больших массивах. и не забывать, что поведение может радикально меняться от уровня оптимизатора включения дебага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:52:34 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamond, там вроде фсьо написано: если добавишь NOCOPY, IN OUT будет по ссылке, по дефолту по значению ) Что именно и в какой момент намереваешься чистить, приведи пример очистки, вроде всегда само работало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 12:55:53 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondпробегалпропущено... это ответ на все ваши вопросы, вы сначала почитайте и подумайте, а потом поймете не прельщает меня практика возвращать данные через out параметры если вы про то что я передаю тип по значению - тут согласен можно передать ссылку. вопрос то в другом. если я использую record состоящий из table of, то как происходит освобождение памяти? и как в этом случае хранятся данные - по значению или ссылкой? и прочее Чистить в PL/SQL за собой особо не надо. Это делает за вас виртуальная машина PL/SQL и его внутренние правила удаления объектов. Большие данные естественно не следует записывать в коллекции, для этого есть временные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 13:30:00 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
Есть еще область жизни переменных/коллекций Те, которые объявлены внутри процедур/функций понятно не живут больше одного вызова (call), соответственно, и память для них выделяется в PGA (даже в Shared server) Но вот те которые объявлены в пакете за пределами процедур/функций сохраняют свое содержимое до конца сессии, хранятся в UGA и желательно не забывать их чистить и освобождать память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 13:39:28 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЕсть еще область жизни переменных/коллекций Те, которые объявлены внутри процедур/функций понятно не живут больше одного вызова (call), соответственно, и память для них выделяется в PGA (даже в Shared server) Но вот те которые объявлены в пакете за пределами процедур/функций сохраняют свое содержимое до конца сессии, хранятся в UGA и желательно не забывать их чистить и освобождать память т.е. я использую в пакете Код: plsql 1. 2. то чистить не надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 14:27:10 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondчистить не надо?не надо решайте задачи по мере их поступления иначе утонете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 14:56:31 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
благодарю за ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 15:03:39 |
|
||
|
Коллекции в функциях
|
|||
|---|---|---|---|
|
#18+
PsyDiamondблагодарю за ответы Кстати, если вы уж озаботились очисткой коллекций, то прочитайте про свойство DELETE у коллекций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2016, 18:06:07 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39308331&tid=1887410]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 447ms |

| 0 / 0 |
