mariadb - 如何在 mariadb 上创建功能索引?
问题描述
我正在尝试在mariadb 5.5
下面创建功能索引...
MariaDB [testdb]> create table foo(c1 datetime);
Query OK, 0 rows affected (0.43 sec)
MariaDB [testdb]> alter table foo add c2 varchar(10) AS (date_format(c1, '%Y-%m-%d'));
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testdb]> desc foo;
+-------+-------------+------+-----+---------+---------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+---------+
| c1 | datetime | YES | | NULL | |
| c2 | varchar(10) | YES | | NULL | VIRTUAL |
+-------+-------------+------+-----+---------+---------+
2 rows in set (0.03 sec)
MariaDB [testdb]> create index idx_foo on foo(c1, c2);
ERROR 1904 (HY000): Key/Index cannot be defined on a non-stored computed column
MariaDB [testdb]>
有没有如何使用 VIRUAL 列创建基于组合列的索引?
任何意见,将不胜感激。
提前致谢。
解决方案
请参阅文档:
...
MariaDB 直到 10.2.2
在 MariaDB 10.2.2 及之前版本中,以下语句适用于生成列的索引:
- 不支持在 VIRTUAL 生成的列上定义索引。
- ...
...
推荐阅读
- excel - 在具有隐藏列和行的过滤工作表中,从每个范围的 2 个差异中获取值
- css - 当它碰到文本内容时,动画 div 会暂时停止
- c# - 使用带有 JsonContract 的默认对象构造
- opencv - OpenCV cuda::meanStdDev 支持 CV_32FC1
- php - 如何从用逗号分隔的字符串中获取数据
- java - MindSphere URL 访问
- laravel - 在laravel中从数据库中的已缓存数据中搜索值
- python - Python - 如果也有字符串值,如何获得列的平均值
- javascript - 在reactjs中登录主页后数据不刷新
- python - 如何解决陈旧的元素参考 - Selenium(Python)