If your system requires concurrency and the number of users is not high, then this design is unnecessary because it is small, small and fast.
If your application has many users, high concurrency and a large amount of data, you can design it like this. Although the amount of data and disk overhead are increased, it is in exchange for efficient operation. It doesn't matter.