Как создать функциональный индекс на mariadb? - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь создать функциональный индекс для 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?

ЛюбойСовет был бы оценен.

Заранее спасибо.

1 Ответ

1 голос
/ 29 мая 2019

См. Документацию:

Сгенерированные (виртуальные и постоянные / сохраненные) столбцы

...

MariaDB до10.2.2

В MariaDB 10.2.2 и ранее к индексам для сгенерированных столбцов применяются следующие операторы:

  • Определение индексов для сгенерированных VIRTUAL столбцов не поддерживается.
  • ...

...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...