mysql -虚拟列


mysql -虚拟列

● 5.7 版本以上;

CREATE TABLE test_vitrual_column(
   `id` int(40) NOT NULL AUTO_INCREMENT COMMENT 'ID ',
  `stat_date` date DEFAULT null ,
   day_of_week TINYINT(4) GENERATED ALWAYS AS (dayofweek(stat_date)) VIRTUAL,   
  PRIMARY KEY (`id`),
  UNIQUE key inq_stat_date(stat_date),
   key ind_day_of_week (day_of_week) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表';

img

  • 虚拟列可以单独建索引,但是不能跟真实列建联合索引

  • 添加删除虚拟列不会导致表重建,效率较高;

  • 实际上并不存在于数据表;

  • 不常用

    参考:


文章作者: 洛神葵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 洛神葵 !
评论
  目录