Одна активная IB-транзакция за все время жизни однопользовательского приложения

Существуют ли какие-либо негативные последствия, когда однопользовательское приложение использует только одну транзакцию IB, которая активна в течение всего времени работы программы? Используя только CommitReeding и RollbackRetainment.

Предыстория: я хочу использовать IBQuery(s) и подключить их к сетке (ам) БД (DevExpress), которая загружает все записи в память одновременно. Поэтому я хочу избежать повторной загрузки всех данных после каждой команды вставки SQL. IBTransaction.Commit закроет набор данных.

2 ответа

Решение

Мне кажется, что вы пытаетесь использовать функцию базы данных, чтобы избежать использования TClientDataSetЭто явно предпочтительный способ работы в Delphi в наши дни. Зачем выходить из-под контроля и использовать сомнительные методы транзакций вместо того, чтобы следовать более распространенному шаблону использования компонентов базы данных, который уже является лучшим решением для рассматриваемой проблемы?

CommitReeding и RollbackRenting не очень хороши.

Сделка должна быть очень короткой.

Другие вопросы по тегам