You must understand what Magento does when it creates the MySQL tables of flat products. And you will soon find that, if you do not touch the parameterization of the attributes, you do not obtain at all the expected result !
Model EAV and flat catalog
What makes Magento flexible ? It is the management of its attributes by an EAV model. Each entity (product, customer, order, etc.) is composed of attributes (price, color, country, etc.) each of which has a value ("$ 100", "green" ...). As a site evolves quickly, we must be able to add or remove attributes to entities. The EAV (Entity Attributes Values) model is designed for this purpose, it allows to easily manage attributes and their values, without modifying the structure of the database and without writing a single line of code.
This is a huge advantage, but there is a size constraint : when Magento has to retrieve an entity (a product for example), it has to browse a large number of tables in the database to assemble the attribute values and reconstitute information. When you need to display a category page with 50 products that each have 50 attributes, you quickly reach the tolerable limit. As the response time of a site is the number one criterion in the success of an e-commerce site, it was necessary to find an answer. Remember? Magento does it!
To speed up the read requests on the database, Magento will build new tables where each field (or column) will represent an attribute. And each record (or row) will represent the values of the attributes of an entity. It's quick and easy ! This is the flat catalog !
In short, we first define the database structure via the back end (EAV) and then with the option flat catalog activated, Magento generates the corresponding database. It is simple and easy ! For any questions on the best ecommerce platform, contact Gentflow here !