0

主キーなしで InnoDB テーブルを作成することは可能ですか?

InnoDB テーブルは PK の周りにクラスター化されたインデックスとして構造化されているため、PK のないテーブルの構造はどのようなものになるでしょうか? そのテーブルはクラスター化されたインデックスのままですが、セカンダリ キーの周りにあるのでしょうか?

ありがとう。

4

1 に答える 1

2

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

14.2.13. InnoDB テーブルとインデックス構造

テーブルに PRIMARY KEY を定義しない場合、MySQL は NOT NULL カラムのみを持つ最初の UNIQUE インデックスを主キーとして選択し、InnoDB はそれをクラスター化インデックスとして使用します。テーブルにそのようなインデックスがない場合、 InnoDB はクラスター化されたインデックスを内部的に生成します。このインデックスでは、 InnoDB がそのようなテーブルの行に割り当てた行 ID によって行が並べられます。行 ID は 6 バイトのフィールドで、新しい行が挿入されると単調に増加します。したがって、行 ID によって並べ替えられた行は、物理的に挿入順に並んでいます。

于 2011-03-31T02:03:55.517 に答える