Интересно, что посоветуют знающие люди.
Делаю расчет абонплаты 10 000 абонентам в хранимой процедуре.
расчет простой - дни в месяце умножаю на тариф.
результат вношу в таблицу, на которой стоит триггер на обновление записи абонента.
Все отлично работает, достаточно быстро.
Но вот задумался что если расчет делать на 1 000 000 записей ?
Хранимая процедура - это транзакция на большое изменение данных, что противоречит Что НЕ надо делать в Firebird
Для того чтоб разделить на более мелкие транзакции, нужно вытягивать все на клинет, а это большая выборка - что противоречит Что НЕ надо делать в Firebird
Вот и задумался, как ПРАВИЛЬНО делать расчет но большое число записей?
Хотя тестовая база на 500 000 и расчетом через хранимую процедуру у меня выполняется без проблем.
Кстати, примерное время расчета 10 минут, что практически совпадает со временем выборки этого же объема на клиент, но без расчета,
так что расчет клиентом теряет всякий смысл.
Массовый расчет: обновление и вставка 1 000 000 записей
Модератор: kdv
Re: Массовый расчет: обновление и вставка 1 000 000 записей
не парься и делай в одной транзакции