powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Построчная блокировка в таблицах c разм < page_size
6 сообщений из 6, страница 1 из 1
Построчная блокировка в таблицах c разм < page_size
    #32434175
CheKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла следующая проблема: таблица с lock mode row, первоначально данные занимают меньше PAGE SIZE'а (2kb). При эксклюзивной (update) блокировке одной строки блокируются все данные таблицы
(244: Could not do a physical-order read to fetch next row.
107: ISAM error: record is locked.).
При объёме данных больше одной страницы и выполнении
update statistics high for table ...
блокировка становится действительно построчной.
Далее, возвращаемся к объёму данных < 2кб - всё работает корректно.
Выполненяем
update statistics high for table ...
и снова выходим на
(244: Could not do a physical-order read to fetch next row.
107: ISAM error: record is locked.)
Как побороть эту ошибку на малых объёмах ???
...
Рейтинг: 0 / 0
Построчная блокировка в таблицах c разм < page_size
    #32434178
СруЛще
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавлю:
Informix Dynamic Server 2000 Version 9.21.UC4
UnixWare 5 7.1.1 i386 x86at SCO UNIX_SVR5
...
Рейтинг: 0 / 0
Построчная блокировка в таблицах c разм < page_size
    #32435217
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема скорее всего в том, что оптимизатор считает, что на маленькой табличке проще выполнить данную операцию через seqscan, а не через index. Обойти можно указав директивы оптимизатору на принудительное использование индекса. Мониторить, как именно хочет сделать этот апдейт сервер - через set expalin on.
...
Рейтинг: 0 / 0
Построчная блокировка в таблицах c разм < page_size
    #32435289
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПроблема скорее всего в том, что оптимизатор считает, что на маленькой табличке проще выполнить данную операцию через seqscan, а не через index. Обойти можно указав директивы оптимизатору на принудительное использование индекса.

Когда на маленькой табличке создается индекс, информикс не блокирует эту табличку эксклюзивно, поэтому у меня возникает вопрос, а создается ли индекс вообще?
...
Рейтинг: 0 / 0
Построчная блокировка в таблицах c разм < page_size
    #32435360
Sergey L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если его заставлять директивами оптимизатора использовать этот индекс, то он
его и на маленькой таблице таки использует.
Сам на этот эффект sequential scan'а попадал.
...
Рейтинг: 0 / 0
Построчная блокировка в таблицах c разм < page_size
    #32439832
CheKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Построчная блокировка в таблицах c разм < page_size
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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