Cursos / Redes de Computadores / Conceitos de Banco de Dados / Aula
Visto que é possível realizar uma pesquisa, como, por exemplo, o nome dos produtos que já foram vendidos, usando uma consulta com subconsulta ou com conexão, você saberia dizer qual é a melhor estratégia?
De uma maneira geral, consultas usando conexões são mais eficientes que consultas com subconsultas, pois o Query Optimizer (mecanismo interno do SGBD que otimiza as instruções enviadas para o banco de dados) pode executar algumas operações a mais quando se utiliza uma subconsulta degradando assim a performance da execução. Ou seja, uma consulta com subconsulta pode ser mais demorada do que uma consulta com conexão. Entretanto, as consultas com subconsultas são apropriadas para pesquisas que envolvam comparações com agregações, como a consulta a seguir:
Nessa consulta, a instrução SELECT mais interna retorna o preço máximo dos produtos da tabela PRODUTOS, através da função de agregação MAX(). A seguir, esse valor é comparado com todos os produtos e somente aqueles que possuírem o prod_preco com valor máximo serão retornados pela consulta mais externa. A resposta do SGBD a essa consulta é ilustrada na Figura 6.
Versão 5.3 - Todos os Direitos reservados