Puis-je avoir créé une table InNODB sans PK? Si oui, un index secondaire serait-il utilisé comme index en cluster?

StackOverflow https://stackoverflow.com/questions/5494565

Question

Est-il possible de créer une table InNODB sans clé primaire?

Étant donné que les tables InNODB sont structurées comme un index en grappe autour du PK, quelle serait la structure d'une table sans PK? Ce tableau serait-il toujours un index cluster, mais autour d'une clé secondaire?

Merci.

Était-ce utile?

La solution

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

14.2.13. Structures de table et d'index innodb

Si vous ne définissez pas une clé primaire pour votre table, MySQL choisit le premier index unique qui n'a pas uniquement des colonnes nulles que la clé principale et InNODB l'utilise comme index en cluster. S'il n'y a pas un tel index dans le tableau, InNODB génère en interne un index en cluster où les lignes sont commandées par l'ID de ligne Cet InnoDB attribue aux lignes dans une telle table. L'ID de ligne est un champ de 6 octets qui augmente monotone à mesure que les nouvelles lignes sont insérées. Ainsi, les lignes commandées par l'ID de ligne sont physiquement dans l'ordre d'insertion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top