Как лучше реализовать подсчет финансов? Добрый день. Интересуют какие нибудь заметки, мнения, статьи на алгоритм реализация подсчета финансов разных счетов с минимальной загрузкой на систему.
Есть несколько счетов, на всех происходят приход, расход или перевод(транзакция) средств.
Я веду таблицу в БД. id, typeTransaction, accountId, datetime, sum, totalsum
Id, Тип транзакции(приход, расход или перевод), Аккаунт, дата, сумма транзакции, окончательная сумма после транзакции
При добавление транзакции в хронологическом порядке - я делаю просто +- к нужно счету.
Вопрос в следующем, как лучше организовать перерасчет при редактировании операции из архив ( скажем три дня назад, когда уже впереди скажет более 1000 операции)
У меня две мысли
1) Обновляем запись в БД + делаем перерасчет ( последовательное сложение и вычитание сумм с даты обновленный записи используя поле sum - foreach и херово sql запросов) - плохо тем, что если отредактировал запись 1 года назад ( ну всякое бывает) то долгий перерасчет, зато точно.
2) Достаем еще неотредактированную запись из БД и сохраняем diffSum - разница между новой и старой sum текущей записью. Обновляем. А потом одним sql запросом set sumTotal = sumtotal + diffSum.
Тут нагрузка минимальная и всего 1-2 SQL запроса.
У кого какие мысли на этот счет и еще идеи в плане надежности цифр и подсчетов? Спасибо!
По сути тотже zenmoney и easyfinance работают безотказно. Хотелось бы узнать какие у них алгоритмы и схемы БД.

21 Авг 2019 в 07:08
175 +1
0
Ответы
1

В вашем случае, второй вариант кажется более оптимальным. Извлечение неотредактированных записей и обновление значений в одном SQL запросе с минимальной нагрузкой на систему выглядит более эффективным и быстрым способом обновления данных.

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

Обратите внимание на то, какие другие аспекты и функциональности есть у zenmoney и easyfinance, чтобы понять, как улучшить свою систему подсчета финансов. Может быть, у них есть дополнительные функции или особенности, которые помогают им управлять финансами более эффективно.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир