数据库性能优化的问题

现在我们系统流水表中有数据10多个亿,系统性能已很慢了,在查询报表的时候,还有计算从流水取数的时候,特别慢。
请问大神,我怎么优化我们的系统呢?
流水表结构,逐渐、计划pk、企业pk、成员pk、投资组合、账户类型、发生额、发生后余额、发生日期
字段

分表分库,将历史库冻结放在另一个数据库只读不写。读写分离。做分布式群集。查询缓存/作业。