Пускаю программу (создание отчета) и смотрю, сколько памяти съедает процесс.
Так вот когда мы задаем интервал месяц, памяти в пике съедается 126 МБ, а когда год - 30 МБ.
С чем это может быть связано? Объемы данных каждый месяц примерно одинаковы. Выполняется вполнее соответственно заданному интервалу, около 4 минут за месяц и минут 40 за год.
ФБ 1.5.2 классик на Win 2000.
Почему запрос за больший период использует меньше памяти?
Re: Почему запрос за больший период использует меньше памяти
Посмотри сюда http://forum.ibase.ru/phpBB2/viewtopic.php?t=680Georgi-47 писал(а):Пускаю программу (создание отчета) и смотрю, сколько памяти съедает процесс.
Так вот когда мы задаем интервал месяц, памяти в пике съедается 126 МБ, а когда год - 30 МБ.
С чем это может быть связано? Объемы данных каждый месяц примерно одинаковы. Выполняется вполнее соответственно заданному интервалу, около 4 минут за месяц и минут 40 за год.
ФБ 1.5.2 классик на Win 2000.
и еще раз задай свой вопрос!!!!
Re: Почему запрос за больший период использует меньше памяти
Просто еще раз?McArty писал(а):...
и еще раз задай свой вопрос!!!!

В дополнение к первому "с чем это может быть связано" задам еще - "это нормально?"
Re: Почему запрос за больший период использует меньше памяти
САМ ЗАПРОС и МЕТАДАННЫЕ привести могешь?Georgi-47 писал(а):Просто еще раз?McArty писал(а):...
и еще раз задай свой вопрос!!!!![]()
В дополнение к первому "с чем это может быть связано" задам еще - "это нормально?"

p.s. Вот если я выпью пива 1 - 3 литров, то мне "хорошо", а если больше 3л. то результат не зависит от дальнейшего кол-ва выпитого.
С чем это может быть связано?
Пиво Aфанасий Premium Ultra, в 0.5 таре.
Имхо в данном случае бесполезно. Там же не запрос, сложные отчёты делаются процедурами, я бы сказал гроздями процедур, и никто в объёмном сложном тексте в поисках ужора памяти рыться не будет. Скорее всего всё зависит от ветвления алгритмов на конкретных данных - где-то чаще глючные удф-ки вызываются, где-то уровень вложенности-рекурсии повыше получается. Да, кстати, в 1.5 есть глючок с неотпусканием памяти при селектах внутри процедур из селективных же процедур, при execute - нет.
Угу, точно. 6 запросов вызываются друг за другом. 5 открываются-закрываются, 6ой открывается и по нему QuickRep'овский отчет идет. По отдельности они все выполняются ожидаемо - вот один, например, 19МБ если за месяц и 22 если за год. А если они в программе один за другим то при расчете за год улетает памяти вчетверо меньше, чем за месяц. Меньше! Еще раз обращу внимание, вопрос не в том, куда память девается, а в том, почему ее на большем объеме данных меньше забирается.Merlin писал(а):Имхо в данном случае бесполезно. Там же не запрос, сложные отчёты делаются процедурами, я бы сказал гроздями процедур, и никто в объёмном сложном тексте в поисках ужора памяти рыться не будет. Скорее всего всё зависит от ветвления алгритмов на конкретных данных - где-то чаще глючные удф-ки вызываются, где-то уровень вложенности-рекурсии повыше получается. Да, кстати, в 1.5 есть глючок с неотпусканием памяти при селектах внутри процедур из селективных же процедур, при execute - нет.
УДФ-ки есть, процедур нет. Могу попробовать без УДФок, интересно чего получится. Но глючная УДФ-ка вела бы себя логично - на большем объеме данных больше вызывалась бы и больше памяти жрала. И ветвлений никаких нет.
Когда я вопрос задавл, то мне это казалось просто забавным
