Захотелось реализовать, что называется из интереса и для опыта, 
web-сервис для ведения домашней бухгалтерии.
Таких приложений не мало, функционал для пользователей выглядит, как правило, в общих чертах так: 
- возможность создать несколько счетов/кошельков
 
- возможность создавать операции: приход/расход/перевод(с одного счета на другой) для каждого кошелька
 
- возможность редактировать совершенные операции
 
- отчеты и графики за выбранные периоды
 
Выглядело на первый взгляд не сложно, пока я не начал детально продумывать базу данных и то как будет работать приложение.
Представим что сервисом пользуется множество пользователей в течении длительного срока. При этом используется MySQL и была выбрана банальная архитектура с такими таблицами: пользователи, счета, операцииПроблема:   таблица операций со временем сильно разрастется, сложные выборки (по периоду времени для нескольких кошельков пользователя) станут, как мне кажется, очень затратными и медленными. 
И вообще мне кажется не логичным хранить в одной таблице операции разных пользователей, пересекающихся выборок ведь не будет... 
Так как лучше спроектировать базу (или базы) данных в таком проекте?