A resposta mais simples é desempenho. Os SGDB relacionais precisam resolver todas as ligações e os respectivos filtros a elas aplicados para obter um resultado (conjunto de linhas/objetos) menor e poder disponibilizar mais rápido. Lembre que ao passo que a consulta é compilada o resultado é armazenado em uma área temporária.
Mas isto não é uma regra. As subquerys geralmente são resolvidas antes se não oferecem ligação de dependência com a query principal. O mesmo ocorre com querys encadeadas por instruções SQL como union.
Não cabe aqui postar exemplos, mas posso criá-los e remeter para você se desejar. Meu email está em meu perfil.
Boa Sorte.
2007-02-28 23:43:03
·
answer #1
·
answered by akiamare 5
·
0⤊
0⤋
Por questões de eficiência.
Como são transações, uma não impacta a outra ate que terminem. Imagine uma transação de longa duração, vários minutos. Se o banco de dados ficasse indisponível para outras transações pequenas ate que a transação longa terminasse, seria impraticável.
2007-03-01 08:22:05
·
answer #2
·
answered by O Bardo 1
·
0⤊
0⤋
O SGBD vê cada transação como uma seqüencia de leituras e escritas delimitada por comandos beguin e commit (ou abort)
2007-03-01 07:05:19
·
answer #3
·
answered by Ð♀Þ®☼© 7
·
0⤊
0⤋
Sim, mas d qual sistema vc está falando???
Quem sabe ele entrelaça pelo fato d haver relacionamentos entre as tabelas.
qualker coisa entra em contato que eu t ajudo melho.
É q naum entendi mto bem q tipo d SGBD é!
ate mais!!!
2007-03-01 06:55:09
·
answer #4
·
answered by JKS super 5
·
0⤊
0⤋