Virtual and persistent columns
We described a view on a virtual table, meaning that its contents are the results of a query. The idea behind virtual columns is very similar: they are columns based on SQL expressions.
A virtual column overview
The terminology is a bit confusing here. In fact, all automatically calculated columns are called virtual columns in MariaDB KnowledgeBase. However, there are two types of virtual columns: VIRTUAL
columns and PERSISTENT
columns.
A
VIRTUAL
column is calculated on-the-fly when it is referenced in a statement—for example, when aSELECT
clause extracts its value. This is the default type.A
PERSISTENT
column is written in the table and its value can be read when needed, as happens with regular columns.
Calculating each value on-the-fly is additional work for the CPU, but saves space on the disk. Only PERSISTENT
columns can be indexed or used in a foreign key.
In both cases, the calculated values cannot be directly inserted or modified. MariaDB automatically modifies...