GLOBAL TEMPORARY TABLE И MERGE

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

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

Ответить
armagedon2007
Сообщения: 44
Зарегистрирован: 14 мар 2008, 21:01

GLOBAL TEMPORARY TABLE И MERGE

Сообщение armagedon2007 » 15 сен 2008, 15:00

Мной было замечено, что если в GLOBAL TEMPORARY TABLE вставлять записи через FOR SELECT ... INSETRT INTO TABLE то данные блоками н-го размера
сваливаются на диск во временный файл при этом значительного роста использования памяти нет, но если использовать в место FOR SELECT ... MERGE то все данные сервер держит в памяти, а размер временного файла на диске равен 0.
Сервер FB 2.1.1.17910
Это так должно быть?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: GLOBAL TEMPORARY TABLE И MERGE

Сообщение hvlad » 15 сен 2008, 15:27

С точки зрения FB нет никакой разницы между прямым INSERT и синтаксическим сахаром, по имени MERGE.
FB не управляет выделением памяти под временные файлы и тем, как часто ось обновляет инф-цию в каталоге о р-ре вр. файла.

Насчёт "все данные сервер держит в памяти" - чем можешь это подтвердить ?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: GLOBAL TEMPORARY TABLE И MERGE

Сообщение kdv » 15 сен 2008, 15:34

а размер временного файла на диске равен 0
если винда, на этом файле правую кнопочку, и Свойства. покажет размер.

armagedon2007
Сообщения: 44
Зарегистрирован: 14 мар 2008, 21:01

Re: GLOBAL TEMPORARY TABLE И MERGE

Сообщение armagedon2007 » 16 сен 2008, 15:11

Пордон был неправ
просто запускал под отладкой из IBExpert долго запрос выполнялся и решил посмотреть сколько памяти проглотило
но не посмотрел какой процес
сейчас запустил без отладки все чудесным образом работает

Ответить