Use
MyObject (id)
. A menos que você tenha esses objetos isolados do resto do banco de dados, você precisará do PK composto de
id
sozinho , para que possa ser referenciado por FOREIGN KEYs. Mesmo isoladamente, a imposição de chave justificaria a tabela separada. Sem ele, você teria que de alguma forma gerar um novo
id
enquanto impede que transações simultâneas gerem o mesmo id
para um objeto diferente. A maneira óbvia de fazer isso seria bloquear a tabela inteira (e selecionar MAX + 1), mas isso destrói a escalabilidade. É melhor ter apenas uma tabela separada, IMO. Se você cluster
no InnoDB, isso será apenas uma única árvore B de qualquer maneira.