Chave estrangeira compromete o desempenho do banco?

17/01/2017

0

Amigo me tirem uma duvida,
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

Henrique

Responder

Posts

17/01/2017

Gutierry Pereira

Bom dia,
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,
Responder

17/01/2017

Jones Granatyr

Opa! Complementando a resposta do Gutierry: em aplicações de mineração de dados ou Business Intelligence as chaves estrangeiras podem não ser utilizadas, pois neste tipo de sistema os dados já estão integrados e normalmente não são alterados. Como muitos dados são analisados, as chaves estrangeiras poderiam atrasar um pouco o processo
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar