No mundo das ERs, temos diversas "leis" não escritas que ora ou outra vão bater a sua porta e você verá que segui-las fará com que suas ERs sejam mais precisas e não falhem.
Essas leis são um misto de dicas de prevenção de problemas e ganhos de performance. Se você está começando, não se preocupe com essas regras. Mas se você já tem uma experiência grande com ERs, verá que essas leis podem lhe poupar estresse.
Sobre a performance, em situações normais, não é necessário se preocupar com a velocidade de uma ER, pois independentemente de como você a faça, o resultado virá instantaneamente. Mas quando aplicadas a vários arquivos, ou a um arquivo muito extenso, a demora pode ser grande.
Temos técnicas simples e complicadas de otimização. Como as complicadas são de difícil implementação e manutenção, às vezes não compensando o custo-benefício de seu uso, não vamos vê-las. O assunto é simples e vamos tratá-lo de forma simples, sem testes gratuitos de performance ("benchmark"), detalhes específicos de certos programas e exceções raras. Ficou muito na cara de quem estou falando? &:)
As dicas que seguem, no geral podem ser usadas em qualquer tipo de programa ou linguagem, pois são detalhes conceituais e não dependentes de implementação.