Могу ли я создать таблицу InnoDB без ПК? Если да, будет ли вторичный индекс использоваться в качестве кластерного индекса? - PullRequest
0 голосов
/ 31 марта 2011

Можно ли создать таблицу InnoDB без первичного ключа?

Поскольку таблицы InnoDB структурированы как кластеризованный индекс вокруг PK, какова будет структура таблицы без PK? Будет ли эта таблица все еще кластеризованным индексом, но вокруг вторичного ключа?

Спасибо.

1 Ответ

2 голосов
/ 31 марта 2011

http://www.sqlinfo.net/mysqldocs/v50/storage-engines.html#innodb-table-and-index

14.2.13. Структура таблиц и индексов InnoDB

Если вы не определили PRIMARY KEY для своей таблицы, MySQL выберет первый индекс UNIQUE, который имеет только столбцы NOT NULL, в качестве первичного ключа, а InnoDB использует его в качестве кластеризованного индекса. Если в таблице нет такого индекса, InnoDB внутренне генерирует кластеризованный индекс, где строки упорядочены по идентификатору строки , который InnoDB присваивает строкам в такой таблице. Идентификатор строки представляет собой 6-байтовое поле, которое монотонно увеличивается при вставке новых строк. Таким образом, строки, упорядоченные по идентификатору строки, физически находятся в порядке вставки.

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