Hoje daremos continuidade a nossa sequência de resumos de conteúdos de TI gratuitos, elaborados com exclusividade para o Blog do Estratégia Concursos. Ainda falando a respeito de Banco de Dados, assunto que despenca sobretudo nas provas da FGV e do Cebraspe/Cespe, abordaremos nesse artigo algumas técnicas para otimização de performance.
Normalmente, esse tópico costuma ser mais cobrado para cargos específicos de TI. No entanto, existe também a possibilidade de que seja exigido em cargos não específicos, especialmente em concursos de alto nível (Senado, Receita Federal etc). Em razão disso, recomendamos sempre checar previamente o conteúdo programático do seu Edital. Segue o nosso roteiro de hoje:
Este é um tópico mais avançado. A fim de entender os conceitos apresentados neste artigo, é necessário que você tenha algum conhecimento de banco de dados, incluindo seus objetos, para não ficar perdido. Por exemplo, precisa conhecer o que é uma tabela, o que é um índice etc. Contudo, não vamos aprofundar esses tópicos hoje para o conteúdo não ficar muito extenso.
Se não conhecer nada a respeito do tema, recomendamos buscar o material do Estratégia (os links estão no final desta publicação) e retornar a este artigo posteriormente. Atendendo a pedidos, o conteúdo será mais curtinho, a fim de que todos tenham a oportunidade de realizar a leitura com tranquilidade, sem atrapalhar os estudos.
Tempo de leitura aproximada: 5 a 10 minutos
No mundo de Tecnologia da Informação, o termo otimização de performance está principalmente relacionado a uma melhoria no desempenho. No contexto de Bancos de Dados, essa evolução pode ocorrer por meio de hardware ou software. Ressalta-se que alguns Editais apresentam o termo Tuning, que é um sinônimo para a otimização de performance a que estamos nos referindo.
Esse assunto vem ganhando espaço cada vez maior nas provas de concursos dos últimos anos. A prova discursiva do TJ-RJ de 2020/2021 para o cargo de Analista Judiciário – Analista de Sistemas, elaborada pela banca Cebraspe/Cespe, explorou essencialmente a otimização de performance. Veja:
Primeiramente, você já utilizou o índice de um livro? Normalmente, as pessoas o buscam para encontrar facilmente um assunto. Ele contém a página em que o tópico está situado. O mesmo ocorre em Bancos de Dados. Um índice é um objeto associado a uma tabela, que tem por objetivo facilitar a busca de um dado nela. É uma espécie de ponteiro associado aos dados armazenados.
Existem diversos tipos de índice. Entre as classificações mais cobradas, podemos destacar os índices clusterizados e não clusterizados. Os índices clusterizados apresentam uma ordenação dos dados contidos nas linhas da tabela, como um agrupamento. Por outro lado, os índices não clusterizados ordenam apenas os índices, deixando os dados organizados em qualquer posição.
Uma outra técnica bastante utilizada para otimização de performance baseia-se na análise de consultas SQL, também conhecida como plano de execução. Dependendo da forma como é construída, uma consulta SQL pode degradar bastante o desempenho do Banco de Dados.
A fim de resolver esse problema, Administradores de Bancos de Dados e/ou Desenvolvedores podem empregar diversos artifícios para melhorar a performance das consultas SQL, tais como mudanças de posicionamento das tabelas, troca de operadores, utilização de “hints” etc.
Você Sabia? “Hint” é um artifício utilizado em Banco de Dados para forçar a execução das consultas de determinadas maneiras. Na prática, ele é uma expressão curta, composta por uma ou mais palavras. Sua utilização requer bastante estudo dos impactos e experiência por parte do profissional.
Outra alternativa para melhorar o desempenho em Bancos de Dados envolve as conexões. De forma bem simples, conexão é uma comunicação que você estabelece para realizar as transações. A recomendação é mantê-la aberta apenas enquanto efetivamente você estiver realizando alguma operação no Banco de Dados. Caso contrário, será melhor fechá-las.
Se estiver achando complicado, pense em uma clínica. Suponha que o local possua 4 linhas telefônicas para pedidos de consulta dos pacientes, mas contratou apenas 1 secretária (coitada!). Se todos os telefones tocarem ao mesmo tempo, você acha que ela conseguirá marcar todas as consultas? Ou será que ficará sobrecarregada? Situação semelhante ocorre no Banco de Dados.
A última técnica que vamos apresentar baseia-se na configuração de parâmetros específicos no Bancos de Dados para otimização de performance. Essa configuração normalmente é de responsabilidade do Administrador de Banco de Dados ou Administrador de Dados, dependendo de como os perfis estão estruturados dentro da organização.
A configuração permite aumentar parâmetros relacionados à memória compartilhada, tamanho de memória “cache”, número de conexões concorrentes, etc. A nomenclatura dos parâmetros pode variar de um Banco de Dados para outro.
Dificilmente as bancas entrarão a fundo nesse tópico, exceto se estiver fazendo uma prova específica para um cargo de TI associado a Bancos de Dados. Assim, conhecer os conceitos já será suficiente para acertar a questão, principalmente se ela for de uma Prova Discursiva.
Neste artigo, apresentamos algumas técnicas para otimização de performance, considerado um tópico avançado de Bancos de Dados. Dessa forma, se você compreendeu bem os conceitos contidos nesta publicação, a recomendação é fazer muitas questões no Sistema de Questões do Estratégia para treinar, além de voltar ao tópico periodicamente para fazer revisões.
Assim como falamos em outras oportunidades, as questões são fundamentais para praticar o conteúdo e testar seu nível de conhecimento. Alunos aprovados realizam centenas, às vezes milhares de questões até atingir um nível de excelência no conteúdo. O acesso do Sistema de Questões do Estratégia é feito pelo link: https://concursos.estrategia.com/.
No entanto, se restaram dúvidas sobre os conceitos, nossa sugestão é buscar diretamente o material do Estratégia Concursos. O Estratégia oferece diversos cursos em pdf, videoaulas e áudios para você ouvir onde quiser. Saiba mais sobre todos os nossos cursos disponíveis na plataforma por meio do link https://www.estrategiaconcursos.com.br/cursos/.
Bons estudos e até a próxima!
Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Profissional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022) e TCE-RJ (2022). Atualmente exerce o cargo efetivo de Especialista em Previdência Social – Ciência da Computação e o cargo em comissão de Coordenadora de Desenvolvimento em TI no Rioprevidência, além de ser colaboradora do Blog do Estratégia Concursos.
O concurso Hemobrás (Empresa Brasileira de Hemoderivados e Biotecnologia) está com banca definida para o…
Foi divulgado e homologado o resultado final do concurso IBICT (Instituto Brasileiro de Informação em…
O Estratégia realiza semanalmente aulas, eventos, entrevistas, simulados, revisões e maratonas dos principais concursos de…
Avançamos em nossa caminhada jurisprudencial. Chegou a hora do Informativo nº 829 do STJ COMENTADO. Pra…
A Fundação Carlos Chagas (FCC) organizará o novo concurso Tribunal Regional do Trabalho da 15ª…
Salários iniciais entre R$ 8.529,67 a R$ 13.994,78! A Fundação Carlos Chagas (FCC) deve ser…