Votre clé primaire est votre table. Dans un InnoDB, la clé primaire contient les données réelles, donc si la clé primaire contient les données, c'est la table.
Pensez-y un instant. Vous obtenez deux types d'index différents sur une table InnoDB clustered et des index secondaires. La différence est qu'un index cluster contient les données et un index secondaire contient les colonnes indexées et un pointeur vers les données. Ainsi, un index secondaire ne contient pas les données mais plutôt l'emplacement où se trouvent les données dans l'index CLUSTERED.
Normalement, une clé primaire est un index clusterisé. Il serait très inefficace de stocker à la fois la table avec toutes ses valeurs, puis un index clusterisé avec toutes ses valeurs. Cela doublerait effectivement la taille du tableau.
Ainsi, lorsque vous avez une clé primaire qui se trouve sur un InnoDB, la taille de la table correspond à la taille de la clé primaire. Dans certains systèmes de base de données, vous pouvez avoir un index secondaire en tant que clé primaire et un index séparé en tant que clé en cluster, mais InnoDB ne le permet pas.
Allez lire les liens suivants pour plus de détails :
http://dev.mysql.com /doc/refman/5.0/en/innodb-table-and-index.html
http://dev.mysql.com/doc /refman/5.0/en/innodb-index-types.html
Dans ces liens, ils expliquent tout ce que j'ai dit ci-dessus plus en détail. En termes simples, vous avez déjà la taille de l'index de clé primaire car c'est la taille de votre table.
J'espère que ça aide.