'Cache a view or some other method to speed up query results

So, I have a table "Data" with several million records from a ERP system based on Maria DB.

There are several text fields and an indexed integer of "Period" of which the numbers 1-25 will be in there.

One of the developers has been complaining the results of her report are very slow and suggested to speed things up I create a table with each period. She says she has duplicated the data and tested it using this method and there was a substantial improvement.

So Tables named Data_period1, Data_period2, Data_period3 instead of just Data

However I would think indexing would address this problem, her suggestion seems like a messy solution. But I am definitely not a SQL specialist. And even less experienced in MariaDB

I know its difficult to determine without a copy of query for the report. But is there an ability to create a cached view or something that auto updates? Or some other method to speed this up I am not thinking of?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source