The following are some basic differences between MySQL stored generated columns and MySQL virtual generated columns:
If From a disk space perspective, virtual generated columns do not take up any disk space. On the other hand, storing generated columns takes up disk space.
If you look at it from an operational perspective, the virtual generated column is an in-place operation, which means that all data does not need to be re-copied when the table definition is changed. On the other hand, storing a generated column is a copy operation and its cost is the same as adding a new column to the table.
In virtual generated columns, values are calculated dynamically during read operations and BEFORE triggers. On the other hand, in stored generated columns, the values are updated in every INSERT and UPDATE statement.
We should consider using virtual columns in data where changes occur quite frequently. The cost of a virtual column comes from constantly reading the table and the server having to calculate the value of the column each time. On the other hand, we should consider using stored columns in situations where the data does not change significantly or at all after creation.
The above is the detailed content of How do MySQL stored generated columns differ from MySQL virtual generated columns?. For more information, please follow other related articles on the PHP Chinese website!