Pesquisei mas não encontrei nenhuma discussão sobre o assunto. Existem prós e contras na criação de muitas colunas extras na tabela unida? Isso afeta a velocidade de recuperação de dados porque estamos juntando 3 tabelas?
Tanto quanto eu penso, pode diminuir um pouco, mas é necessário, caso contrário, como podemos salvar dados adicionais sobre relacionamentos muitos-para-muitos. Ou existe alguma outra forma que desconheço?
Em geral, quanto maior a tabela, mais lenta a consulta. Mas mais lento não significa necessariamente lento .
O número de junções provavelmente tem mais a ver com o uso de números de identificação do que qualquer outra coisa. As chaves naturais podem acelerar drasticamente o desempenho quando as informações importantes são transportadas na chave. (Isso acontece com mais frequência do que você imagina.)
A tabela M:N é o local natural e sensato para armazenar informações sobre esse relacionamento M:N. Portanto, adicionar colunas para armazenar informações sobre esse relacionamento faz todo o sentido. Tabelas mais largas geralmente são mais lentas, mas tabelas estreitas que não armazenam dados são menos úteis.