powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
7 сообщений из 7, страница 1 из 1
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38484792
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

наблюдение за каталогом %temp%, где ФБ держит файлы fb_table_xxxx, показывает, что при одновременном вводе в двух и более окнах вот такого: insert into gtt select ... from ... - запись идёт в ОДИН файл на каждую GTT.
Поэтому - сабж.
Раз они пишут всё время в один и тот же файл, то и разруливать должны очередность записи, не так ли ?

А если так, то вопрос-1 : почему не было принято решение, когда реализовывались ГТТшки, создавать по 1 файлу на каждый коннект (для on commit preserve rows) или на каждую транзакцию (для on commit delete rows, с убиением его после commit'a/rollback'a) ?
Ведь тогда, помимо отсутствия драки с другими коннектами, для on commit delete rows можно было бы вообще установить excl-блокировку на весь файл.

ЗЫ. Если ответ будет "да потому что было сделано всё как для fixed-таблиц, сколько раз повторять!" - то вопрос-2 : есть ли в планах поменять реализацию в сторону уменьшения конфликтов при записи ?
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38486652
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидРаз они пишут всё время в один и тот же файл, то и разруливать должны очередность записи, не так ли ?Не так
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38486688
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как тогда ? Вот два коннекта, оба хотят добавить в один и тот же файл по N байт. Что на "низком уровне" при этом произойдёт ?
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38486756
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделят себе по странице и запишут туда данные.

Какие ветряные мельницы на этот раз тебе не дают покоя ?
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38486847
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВыделят себе по страницеТак они запрашивают при этом блокировку каждый раз на каждую такую страницу или нет ?
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38486993
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет никаких блокировок файлов.
...
Рейтинг: 0 / 0
Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
    #38487074
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКакие ветряные мельницы на этот раз тебе не дают покоя ?Похоже смешались в кучу 2 в корне разных файла экстернал тэйбл и временный файл (которого на диске может и не материализоваться) для ГТТ.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Одновр запись в одну и ту же GTT несколькими коннектами: конкуренция за блокировку файла ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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