Я только что узнал, как создавать индексы в mysql и выполнил такой запрос в mysql верстаке, подключающемся к экземпляру mysql 8.0:
use test;
create table idx (
id int not null unique,
name char(5),
primary key(id),
key(name)
);
show index from idx;
Таблица результатов:
# Table, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment, Visible, Expression
'idx', '0', 'PRIMARY', '1', 'id', 'A', '0', NULL, NULL, '', 'BTREE', '', '', 'YES', NULL
'idx', '0', 'id', '1', 'id', 'A', '0', NULL, NULL, '', 'BTREE', '', '', 'YES', NULL
'idx', '1', 'name', '1', 'name', 'A', '0', NULL, NULL, 'YES', 'BTREE', '', '', 'YES', NULL
Меня смущает, что есть два индекса key_name = PRIMARAY и key_name = "id", потому что id
является первичным ключом. В чем разница между ними?