Как лучше реализовать подсчет финансов? Добрый день. Интересуют какие нибудь заметки, мнения, статьи на алгоритм реализация подсчета финансов разных счетов с минимальной загрузкой на систему. Есть несколько счетов, на всех происходят приход, расход или перевод(транзакция) средств. Я веду таблицу в БД. 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 работают безотказно. Хотелось бы узнать какие у них алгоритмы и схемы БД.
В вашем случае, второй вариант кажется более оптимальным. Извлечение неотредактированных записей и обновление значений в одном SQL запросе с минимальной нагрузкой на систему выглядит более эффективным и быстрым способом обновления данных.
Что касается надежности и точности данных, важно также учитывать возможность ошибок пользователя при вводе данных и некорректных операций. Можно добавить проверки на корректность суммы операций и правильность выполнения операции. Также важно регулярно делать резервное копирование данных, чтобы в случае сбоя системы или потери данных была возможность восстановить информацию.
Обратите внимание на то, какие другие аспекты и функциональности есть у zenmoney и easyfinance, чтобы понять, как улучшить свою систему подсчета финансов. Может быть, у них есть дополнительные функции или особенности, которые помогают им управлять финансами более эффективно.
В вашем случае, второй вариант кажется более оптимальным. Извлечение неотредактированных записей и обновление значений в одном SQL запросе с минимальной нагрузкой на систему выглядит более эффективным и быстрым способом обновления данных.
Что касается надежности и точности данных, важно также учитывать возможность ошибок пользователя при вводе данных и некорректных операций. Можно добавить проверки на корректность суммы операций и правильность выполнения операции. Также важно регулярно делать резервное копирование данных, чтобы в случае сбоя системы или потери данных была возможность восстановить информацию.
Обратите внимание на то, какие другие аспекты и функциональности есть у zenmoney и easyfinance, чтобы понять, как улучшить свою систему подсчета финансов. Может быть, у них есть дополнительные функции или особенности, которые помогают им управлять финансами более эффективно.