What is the use of Schema Data stored in values column of Yii Cache table?

0

The BLOB data stored value column of Yii Cache Table looks like this (if we use CDbCache).

a:2:{i:0;O:17:“CMysqlTableSchema”:9: {s:10:“schemaName”;N;s:4:“name”;s:13:“yii_table_log”;s:7:“rawName”;s:15:“yii_table_log”;s:10:“primaryKey”;s:2:“id”;s:12:“sequenceName”;s:0:"";s:11:“foreignKeys”; a:0:{}s:7:“columns”; a:11: {s:2:“id”;O:18:“CMysqlColumnSchema”:15:{s:4:“name”;s:2:“id”;s:7:“rawName”;s:4:“id”;s:9:“allowNull”;b:0;s:6:“dbType”;s:10:“bigint(20)”;s:4:“type”;s:6:“string”;s:12:“defaultValue”;N;s:4:“size”;i:20;s:9:“precision”;i:20;s:5:“scale”;N;s:12:“isPrimaryKey”;b:1;s:12:“isForeignKey”;b:0;s:13:“autoIncrement”;b:1;s:7:“comment”;s:0:"";s:14:" CComponent _e";N;s:14:" CComponent _m";N;} s:10:“log_action”; O:18:“CMysqlColumnSchema”:15:{s:4:“name”;s:10:“log_action”;s:7:“rawName”;s:12:“log_action”;s:9:“allowNull”;b:1;s:6:“dbType”;s:10:“tinyint(4)”;s:4:“type”;s:7:“integer”;s:12:“defaultValue”;N;s:4:“size”;i:4;s:9:“precision”;i:4;s:5:“scale”;N;s:12:“isPrimaryKey”;b:0;s:12:“isForeignKey”;b:0;s:13:“autoIncrement”;b:0;s:7:“comment”;s:0:"";s:14:" CComponent _e";N;s:14:" CComponent _m";N;}

Can someone explain how this serialized schema data is used in caching?

Schema caching in db connection
https://www.yiiframework.com/doc/api/1.1/CDbConnection#schemaCacheID-detail

@tri , Thanks for replying!!

One doubt, do you have an idea how this schema data actually helps? Does it help in reduced page load time?

Perhaps, depending on configuration, I think. With schema caching there would be no need to ask the (possibly remote) db server for every request. E.g for deciding data type and for validation.

Benchmarking discussion from the early days of Yii

Edit: The default schema cache seems to be local (SQLite). At least that makes sense.