A tabela MySQL principal do meu aplicativo da web tem dezenas de milhares de linhas. Finja que tem 2 colunas: ID, Conteúdo.
Estou tentando criar um novo recurso que permite que as linhas sejam marcadas como relacionadas umas às outras.
Obviamente eu poderia adicionar uma 3ª coluna: Related_IDs. Pode ser uma matriz JSON ou uma string CSV simples.
Mas isso parece errado. Eu precisaria atualizar o campo Related_IDs de cada linha de um grupo de N linhas para ser uma lista separada por vírgulas de IDs de todas as linhas do grupo, exceto ela mesma. Toda vez que um desses registros se torna não relacionado, eu precisaria percorrer o grupo e limpar esse campo para cada um.
O que é uma abordagem mais inteligente?
Uma mesa de ponte
Se
1-->2 is equal to 2-->1
você precisa de uma linha, mais você precisa de duas.Agora você pode obter todos os ids relacionados a 13
E se você quiser excluir alguns navios de ração, você pode adicionar uma coluna que indica que 13 nunca está relacionado a 42
Por que você nunca deve salvar dados em colunas delimitadas você pode ler aqui