Je cours un site web de paroles et j'ai une seule table qui conserve essentiellement un index des chansons; essentiellement la clé primaire avec auto increment (song_id), l'artiste, et le titre de la chanson.MySQL sharding et performance clé primaire dans InnoDB
Les paroles elles-mêmes sont stockées sur 10 partitions, chaque fragment étant basé sur le paramètre song_id MOD 10. Il y a deux colonnes: song_id et song_lyrics. Le champ song_id est la clé primaire, mais pas l'incrémentation automatique, et stocke le même nombre entier que dans la table d'index. Ma question est, étant donné que d'après ce que j'ai lu sur InnoDB et la clé primaire, est-ce une sorte de coup de performance qui, par exemple sur shard 0, les rangées song_id vont 10, 20, 30, etc. ne sont pas consécutifs? Ma crainte est que sauter des nombres dans la clé primaire ait un impact sur la performance.
Même avec memcached, il n'y a pas une énorme contrainte en ce moment, mais je vais ajouter de nouvelles fonctionnalités en plus des paroles, donc si je vais changer le schéma, c'est maintenant un meilleur moment que . J'apprécie tout aperçu. Je vous remercie!