Regarding the performance of few large tables, just a suggestion you can also try implementing the partitioning. By doing partitioning you can leverage the "swap partiton" while doing an insert and select the data for reporting based on your partitioning key
Hope this…