我正在使用 MariaDB 10.11.6,并且有一个包含日志数据的大表(约 14 亿行)。
我正在尝试将索引添加到VIRTUAL
使用以下命令创建的列:
ALTER TABLE log_table ADD COLUMN Days int(11) UNSIGNED AS (TO_DAYS(LogTime)) VIRTUAL INVISIBLE;
根据生成列的MariaDB文档,这应该是可能的,但我收到以下错误:
ERROR 1904 (HY000): Key/Index cannot be defined on a virtual generated column
该表使用“Aria”存储引擎,并且应该支持生成的列:
InnoDB、Aria、MyISAM 和 CONNECT 支持生成列
应该支持在生成的列上添加索引:
支持在 VIRTUAL 和 PERSISTENT 生成的列上定义索引。
注意:相关表也按列进行分区datetime
,使用的代码类似于VALUES LESS THAN TO_DAYS('2024-02-15')
Rick James 的分区维护指南。
您能帮我找出为什么我无法在生成的虚拟列上创建索引吗?
最好的问候
-Bjarne