Tenho uma tabela 'comentários' com uma chave primária int auto_increment e referências ao autor e à postagem (author_id, post_id).
Como costumo fazer a junção com a tabela 'posts' por motivos óbvios e raramente com autores (apenas no histórico do usuário, raramente usado), estou pensando em remover o status da chave primária em 'comment_id' e criar uma chave primária composta como (post_id, comment_id) com a ideia de conseguir buscar os comentários muito rápido, já que agora eles são armazenados ordenados graças à chave primária líder.
notas:
- Estou usando o mariadb 11.7
- No momento, tenho um índice secundário em 'post_id', mas isso implica que tenho que acessar muito mais páginas, pois os comentários referentes a uma postagem específica estão espalhados na tabela.
- 'comment_id' é necessário agora e depois porque tenho que permitir vários comentários de um usuário em uma postagem e ele se tornaria indexado secundariamente, pois ainda é necessário para algumas operações.
- meu exemplo é uma simplificação das minhas tabelas reais, mas deve explicar bem o conceito.
- esta tabela não é muito escrita (inserções, atualizações), mas é muito lida (sim, eu sei sobre memcached)
Espero receber algumas ideias interessantes.