InnoDB: найти кластеризованный индекс в существующей таблице - PullRequest
0 голосов
/ 30 января 2019

Есть ли способ явно определить кластеризованный индекс в существующей таблице InnoDB.Мне известны правила определения кластерного индекса, перечисленные в документации, но я хотел бы знать, есть ли способ явно проверить его в существующей таблице.

1 Ответ

0 голосов
/ 30 января 2019

Как вы уже читали, таблицы InnoDB всегда используют PRIMARY KEY или первый не-NULL UNIQUE KEY в качестве своего кластеризованного индекса.

Если таблица не имеет ни одного из них, она генерирует свой собственный кластеризованный индекс, иназывает это «GEN_CLUST_INDEX».

mysql> create table test.testy ( i int ); -- no eligible clustered index

mysql> select t.name as table_name, i.name as index_name 
  from information_schema.innodb_sys_tables t 
  join information_schema.innodb_sys_indexes i using (table_id) 
  where i.name = 'GEN_CLUST_INDEX';
+------------+-----------------+
| table_name | index_name      |
+------------+-----------------+
| test/testy | GEN_CLUST_INDEX |
+------------+-----------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...