Я не большой программист VB, но мне поручено поддерживать/улучшать настольное приложение VB6, которое использует Sybase ASE в качестве внутреннего. В этом приложении около 500 пользователей.Как разрешить блокировки таблицы Sybase (VB6)?
Недавно я добавил функциональность для этого приложения, которое выполняет дополнительную вставку/обновление в одну строку в базе данных, ключевое поле - номер транзакции, а поле индексируется. В обновляемой таблице обычно содержится около 6000 записей, поскольку записи удаляются при завершении транзакций. После развертывания приложение отлично работало в течение полутора дней, прежде чем пользователи сообщали о низкой производительности.
В конце концов, мы проследили проблему производительности с блокировкой таблицы в базе данных и вынуждены были вернуться к предыдущей версии приложения. Первый день использования был в понедельник, что, как правило, очень тяжелый день для использования в системе, поэтому я смущен, почему проблема не появилась в этот день.
В коде, который был на месте, есть вызов для начала транзакции Sybase. Внутри блока между BeginTrans и CommitTrans есть вызов DLL-файла, который обновляет базу данных. Я поместил свой новый код в модуль класса в DLL.
Я смущен относительно того, почему одна вставка/обновление в одну строку может вызвать такую проблему, тем более что система работает нормально до изменения. Возможно ли, что я выставил здесь большую проблему? Или мне просто нужно пересмотреть мой подход?
Спасибо за каждого, кто был в подобной ситуации и может предложить совет.
Это затормозит? Или другой код просто должен долго ждать, чтобы блокировка была выпущена? –