Почему запрос за больший период использует меньше памяти?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Georgi-47
Сообщения: 51
Зарегистрирован: 01 ноя 2004, 10:21

Почему запрос за больший период использует меньше памяти?

Сообщение Georgi-47 » 15 апр 2005, 14:17

Пускаю программу (создание отчета) и смотрю, сколько памяти съедает процесс.
Так вот когда мы задаем интервал месяц, памяти в пике съедается 126 МБ, а когда год - 30 МБ.
С чем это может быть связано? Объемы данных каждый месяц примерно одинаковы. Выполняется вполнее соответственно заданному интервалу, около 4 минут за месяц и минут 40 за год.
ФБ 1.5.2 классик на Win 2000.

McArty
Сообщения: 56
Зарегистрирован: 14 янв 2005, 09:31

Re: Почему запрос за больший период использует меньше памяти

Сообщение McArty » 15 апр 2005, 14:23

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

Georgi-47
Сообщения: 51
Зарегистрирован: 01 ноя 2004, 10:21

Re: Почему запрос за больший период использует меньше памяти

Сообщение Georgi-47 » 15 апр 2005, 14:36

McArty писал(а):...
и еще раз задай свой вопрос!!!!
Просто еще раз? :)

В дополнение к первому "с чем это может быть связано" задам еще - "это нормально?"

McArty
Сообщения: 56
Зарегистрирован: 14 янв 2005, 09:31

Re: Почему запрос за больший период использует меньше памяти

Сообщение McArty » 15 апр 2005, 14:39

Georgi-47 писал(а):
McArty писал(а):...
и еще раз задай свой вопрос!!!!
Просто еще раз? :)

В дополнение к первому "с чем это может быть связано" задам еще - "это нормально?"
САМ ЗАПРОС и МЕТАДАННЫЕ привести могешь? :lol:

p.s. Вот если я выпью пива 1 - 3 литров, то мне "хорошо", а если больше 3л. то результат не зависит от дальнейшего кол-ва выпитого.
С чем это может быть связано?
Пиво Aфанасий Premium Ultra, в 0.5 таре.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 15 апр 2005, 14:46

Имхо в данном случае бесполезно. Там же не запрос, сложные отчёты делаются процедурами, я бы сказал гроздями процедур, и никто в объёмном сложном тексте в поисках ужора памяти рыться не будет. Скорее всего всё зависит от ветвления алгритмов на конкретных данных - где-то чаще глючные удф-ки вызываются, где-то уровень вложенности-рекурсии повыше получается. Да, кстати, в 1.5 есть глючок с неотпусканием памяти при селектах внутри процедур из селективных же процедур, при execute - нет.

Georgi-47
Сообщения: 51
Зарегистрирован: 01 ноя 2004, 10:21

Сообщение Georgi-47 » 15 апр 2005, 16:20

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

Ответить