Carregando...

Conhecendo o recurso de Tabela Temporária no PostgreSQL

Conhecendo o recurso de Tabela Temporária no PostgreSQL
Por: Mario Marcio S. Santos
Publicado em: 22:05:2018

Veja como você pode aplicar essa funcionalidade dentro da função do seu SGDB e aumentar a performance da sua consulta

Salve salve moqueridos, Gustavo Web aqui e o assunto da nossa aula de hoje é TEMPORARY TABLE.

Tenho quase certeza que a grande maioria já viu o termo antes (nem que seja na documentação) mas nunca utilizou e nem mesmo encontrou um bom motivo para trabalhar...

Se esse é o seu caso, assiste essa aula que está disponível gratuitamente no nosso canal do YouTube e confere as aulas onde estamos abordando o PostgreSQL.

Cada vez mais vamos entrando em recursos "mais avançados" do SGDB, e por mais que os exemplos que façamos agora sejam desconexos, lá na frente você vai ver que tudo isso faz sentido :)

Uso Prático

Basicamente, o uso desse tipo de recurso será feito dentro de uma função e principalmente quando essa rotina precisar de uma otimização de performance ou até mesmo reestruturação dos dados.

O principal ponto aqui é que você tem certeza que assim que a conexão do cliente for finalizada, essa tabela que fora criada será dropada automaticamente pelo SGDB sem a necessidade de uma intervenção do programador.

A vantagem de tudo isso é que como ela é uma tabela volátil (está armazenada em uma memória, e não gravada no disco) o acesso a ela é extremamente rápido. É claro que a memória do seu servidor tem um limite para o consumo da tabela temporária, e quando esse valor é extrapolado, automaticamente o banco começa a despejar isso para o disco.

Mas levando em consideração que você tem um servidor rodando o seu banco, estimo que a quantidade de memória nele seja o suficiente para que execute uma query e não chegue a esse ponto. Para alcançar 1GB de consumo de memória numa única querym é necessário que seja um processamento pesado... Imagina para consumir 2GB, 4GB, 8GB de RAM que seja!

Funcionalidades a disposição

Embora até o momento não tenhamos abordado VACCUM, ANALYZE e nenhum procedimento de rotina para manutenção do servidor, saiba que essas funcionalidades estão disponíveis para ser utilizadas também na sua tabela temp...

A única questão é que não serão executados os processos automaticamente (como numa tabela física por exemplo) mas até mesmo os índices podem ser utilizados.

Embora os parâmetros GLOBAL e LOCAL podem ser utilizados ainda na chamada da criação, isso está sendo feito somente por questão de compatibilidade e não apresentam nenhuma alteração no comportamento. Simplesmente são ignorados, portanto se você tinha o hábito de utilizar, já não é mais necessário.

Feedback

Você já está seguindo o nosso canal no YouTube? Essa aula e várias outras onde estamos abordando o PostgreSQL está numa playlist totalmente gratuita :)

Para seguir o canal da Up, é só clicar aqui e eu te levo pra lá agora! Só clicar em Inscrever-se e ativar o sininho para receber as notificações :)

Eu vou responder cada comentário lá do YouTube pessoalmente e aqui abaixo também!

Forte abraço, a gente se vê numa próxima aula

Relacionados:

Confira mais conteúdo e aumente seu arsenal de comunicação!