powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа GTT
8 сообщений из 8, страница 1 из 1
Работа GTT
    #38644765
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Возник по ходу разработки такой момент - есть таблица для временных данных, наследие от interbase от которого постепенно избавляемся. Для этого решили переделать табличку в GTT, с небольшой корректировкой (убрать индексирование поле с номером сессии усера). Для начала провели эксперимент - создали GTT, начали инсерт с одного конннекта - получили файл в tempdirectories, подключили второй коннект и зачали инсерт - файлика на этот коннект нет. Срубаю первый коннект - файлик на месте,срубаю второй - исчез. Вот и вопрос - почему? Знаю что при работе с GTT файлик появляется всегда,но кэш из памяти на диск сбрасывается при прохождении порога TEMPCASHLIMIT, но почему тогда он создается один на несколько коннектов? Ну и такой специфичный вопрос - если файлик один на всех то как данные в нем находятся - как реализовано разделение по коннектам?
...
Рейтинг: 0 / 0
Работа GTT
    #38644771
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarпочему тогда он создается один на несколько коннектовЧего-то ты напутал. Когда сделал второй коннект, то действительно ли выполнил в нём insert into gtt ? http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes210.html#rnfb210-globaltemp The data and index pages of all GTT instances are placed in separate temporary files. Each connection has its own temporary file created the first time the connection references some GTT. Запусти два isql'я, затолкай в каждом из них по одной строке в GTT, затем сделай dir %temp%\fb_table* | findstr /i /c:fb_table - там должно быть два файла. Хоть и нулевого размера.
...
Рейтинг: 0 / 0
Работа GTT
    #38644777
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarДля начала провели экспериментКогда такие штуки вытворяешь, то показывай последовательность д-вий с "заголовками" вида session #1, session #2 и т.п. - чтобы за тобой повторить можно было:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 window #1 
isql localhost/3050:tmp_alias -user sysdba -pas masterke
SQL> insert into gtt select 'qwerty';

 window #0 
c:\> dir c:\temp\fb_table* | findstr /i /c:fb_table
<результат команды>

 window #2 
isql localhost/3050:tmp_alias -user sysdba -pas masterke
SQL> insert into gtt select 'asdfgh';

 window #0 
c:\> dir c:\temp\fb_table* | findstr /i /c:fb_table
<результат команды>
...
Рейтинг: 0 / 0
Работа GTT
    #38644785
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gtt это такой же страничный файл как и сама база, база может состоять из одного (обычно), но может и из нескольких (как пережиток прошлого), собственно для многофайловой бд юзер не принимает никого участия в том, куда (в какой файл) движок положит данные.

СОбственно я не вижу ни проблемы ни поля для исследований. Можно в исходники заглянуть при желании.
...
Рейтинг: 0 / 0
Работа GTT
    #38644807
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЗнаю что при работе с GTT файлик появляется всегда,но кэш из памяти на диск сбрасывается при прохождении порога TEMPCASHLIMIT
неправильно, GTT никак не связаны с TempCacheLimit
...
Рейтинг: 0 / 0
Работа GTT
    #38645663
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хы
Если использую классик - при работе с GTT появляется отдельный файлик на коннект,если супер - только один для всех.
...
Рейтинг: 0 / 0
Работа GTT
    #38645668
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrGallemarЗнаю что при работе с GTT файлик появляется всегда,но кэш из памяти на диск сбрасывается при прохождении порога TEMPCASHLIMIT
неправильно, GTT никак не связаны с TempCacheLimit
GTT всегда только на диске?
...
Рейтинг: 0 / 0
Работа GTT
    #38645691
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

для начала они в страничном кеше ФБ, как и любые другие таблицы. Затем в кеше оси. И уже потом на диске.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Работа GTT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]