Одна активная IB-транзакция за все время жизни однопользовательского приложения
Существуют ли какие-либо негативные последствия, когда однопользовательское приложение использует только одну транзакцию IB, которая активна в течение всего времени работы программы? Используя только CommitReeding и RollbackRetainment.
Предыстория: я хочу использовать IBQuery(s) и подключить их к сетке (ам) БД (DevExpress), которая загружает все записи в память одновременно. Поэтому я хочу избежать повторной загрузки всех данных после каждой команды вставки SQL. IBTransaction.Commit закроет набор данных.
2 ответа
Мне кажется, что вы пытаетесь использовать функцию базы данных, чтобы избежать использования TClientDataSet
Это явно предпочтительный способ работы в Delphi в наши дни. Зачем выходить из-под контроля и использовать сомнительные методы транзакций вместо того, чтобы следовать более распространенному шаблону использования компонентов базы данных, который уже является лучшим решением для рассматриваемой проблемы?
CommitReeding и RollbackRenting не очень хороши.
Сделка должна быть очень короткой.