Chave estrangeira compromete o desempenho do banco?
17/01/2017
0
li em um post que achei no google que quando possível sempre evitar o uso de chaves estrangeria pois pode comprometer e impactar a base de dados conforme grande volume de dados, até que ponto essa afirmação é verdadeira?
Abraços!
Henrique
Posts
17/01/2017
Gutierry Pereira
essa informação não deixa de ser verdadeira. Pensa pelo seguinte a chave estrangeira serve para garantir integridade no banco de dados, então ao se efetuar um insert/edit e etc, o banco tem que analisar se existe um registro com aquele ID na outra tabela. Então por milesimos de segundo o banco faz um processamento. Se essa sua coluna estiver configurada com algum tipo de cascate isso pode prejudicar ainda mais o desempenho do banco de dados.
Bom mas em termos isso é uma caracteriscas do banco de dados SQL. Por isso banco de dados NoSQL são mais rapidos, pelo fato de não fazerem uso de garantia da integridade(isso e outros motivos como o não uso do ACID).
O uso ou não FK pode fica a seu criterio, da uma estudada e tire suas conclusões.
A alguns anos já não utilizo FK em minhas aplicações quando não tenho a obrigação de garantir integridade entre os registros. Não só em questão do desempenho, mas por que em geral acredito que outros problemas no desenvolvimento ocorrem devido a isso.
Espero ter ajudado,
17/01/2017
Jones Granatyr
Clique aqui para fazer login e interagir na Comunidade :)