Dynamic columns
Those who know languages similar to JavaScript can think of a dynamic column set as a dynamic object stored in the database in a binary format. Those who don't fully understand what a dynamic object is can think of dynamic column sets as column containers. At every moment it is possible to add or drop columns from these containers, as well as read them or get a list of columns. A dynamic column is a single attribute that can be created or manipulated in a set. This feature is a good way of storing non-homogeneous data in the same table.
Note
Dynamic columns were introduced in MariaDB 5.3, and were notably improved in MariaDB 10.0. This chapter only discusses the MariaDB 10.0 implementation.
Creating the dynamic columns container
A dynamic column needs to be stored in a binary column. This column can be of type TINYBLOB
, BLOB
, MEDIUMBLOB
, or LONGBLOB
. If the set can be empty, we will declare the column as NULL
, because the NULL
value is the only way to represent an empty dynamic...