Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Ограничение времени ожидания для транзакций (Lock timeout)
Ограничение времени ожидания для транзакций (Lock timeout)
При возникновении конфликта обновления записи в InterBase возможны два варианта поведения транзакции, задаваемых параметром WAIT (isc_tpb_wait / bc_tpb_no_wait). - бесконечное ожидание разрешения конфликта или немедленная выдача ошибки. Режим с ожиданием часто удобнее, так как нет необходимости повторять операцию в случае конфликта, но такой режим является очень опасным из-за возможности бесконечной блокировки приложения.
В сервере Yaffil добавлена возможность ограничивать время ожидания разрешения конфликта заданным интервалом времени. Для этого служит параметр конфигурации LOCK_TIMEOUT, задающий время в секундах. Положительное значение от 1 до 32 767 определяет время ожидания WAIT транзакций. Отрицательное число определяет бесконечное время ожидания. Нулевое значение эффективно превращает WAIT транзакции в NOWAIT. Значение по умолчанию -1 (минус один), что обеспечивает совместимость с другими версиями. Параметр не оказывает влияния на транзакции, запущенные в режиме NOWAIT.
В следующих версиях планируется ввести константу блока ТРВ (transaction parameter block), управляющую временем ожидания при запуске каждой транзакции индивидуально.
- Улучшенная производительность
- Улучшенный оптимизатор запросов
- Оптимизация сетевого трафика
- Эффективная работа с временными файлами сортировки
- Оптимальная структура хранения записей
- Ускоренная работа с индексами
- Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
- Ускоренное обновление данных
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Индексы по выражениям
- Уменьшение размера, занимаемого индексами
- Выражения в значениях по умолчанию для доменов
- Удобная операция объединения строк
- Расширенные возможности указания пользовательских планов
- Имена индексов ограничений
- Улучшенное время отклика для версии SuperServer
- Улучшенный протокол локальных соединений (XNET)
- Ограничение времени ожидания для транзакций (Lock timeout)
- Ограничение сценариев
- 1.3.13 Real-time Clock
- Выбор времени рекламирования на ТВ
- 15.4.1. Код отладки времени компилирования
- 15.4.2. Отлаживаемый код времени исполнения
- 5.7. Сигналы реального времени Posix
- 4.11.5. Ограничение сети
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Ограничение результатов выборки FIRST
- LOCK_MEM_SIZE
- LOCK SIGNAL
- LOCK GRANT ORDER