1. Be careful when designing the database schema
The size of a database is defined by the number of entries you have stored by the size of a row, so you need to look to the size of an input as low as possible. This is where the data type of each column comes into play.
It is advisable to look for the type of data that best suits the information is stored. It makes no sense to use a TEXT type for storing a simple postcode, since in this case we will always have 5 digits, and with a type of char (5) data could save a large number of bytes.
2. Partition Tables
In many cases, design tables where much information is stored but at the moment of truth only use some data assiduously. In these cases, it is best to divide the table into two: in the information we used, while in the other the rest of the information will be stored.