天天看点

mysql5.7新特性之生成列生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。

作者:老黄牛与千里码

mysql5.7新特性之生成列

生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。MySQL 5.7 支持虚拟生成列(virtal generated column)和存储生成列(stored generated column)。虚拟生成列仅将数据保存在表的元数据中,作为缺省的生成列类型;存储生成列则是将数据永久保存在磁盘上,需要更多的磁盘空间。

虽然一般情况下都应该使用virtal generated column,但是,目前使用virtal generated column还有很多限制。

不能用virtual generated column创建聚集索引

(如果聚集索引包含多个字段,这些字段也不能有virtual generated column)

不能在virtal generated column上创建全文索引

不能在virtal generated column上创建空间索引

不能用virtal generated column作为外键

如果涉及到以上几个用途的,可以选择stored generated column来实现。

总结:从这里可以看出mysql数据库也在逐步完善响应的功能,其实该功能与oracle的函数索引比较像,mysql通过一个虚拟列的方式来实现了oracle里面的函数索引的功能。

#程序员##IT##MySQL#

mysql5.7新特性之生成列生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。
mysql5.7新特性之生成列生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。
mysql5.7新特性之生成列生成列是通过数据库中的其他列计算得到的一列。当为生成列创建索引时,可以便捷地加快查询速度。

继续阅读