Tecnologia da Informação EmÁudio: Resumão Emáudio sobre Postgre SQL - Parte Cinco
Voltei, pessoal. Bora finalizar esse resumão? Som na caixa então.
Vamos falar sobre os comandos SQL úteis. O PostgreSQL oferece suporte à linguagem SQL padrão, além de oferecer algumas funções e comandos específicos do sistema.
Cada função no PostgreSQL tem uma classificação e volatilidade. Essa classificação é utilizada para otimização de consultas e é definida pelo usuário no momento da criação da função. Ela funciona como uma espécie de promessa do usuário para o otimizador em relação ao comportamento da função.
Então há três possibilidades aqui. Vamos conferir: as funções do tipo "volat" são padrão no PostgreSQL caso o usuário não especifique uma das demais categorias no comando "function".
As funções "volatile" podem fazer qualquer tarefa, o que inclui modificar o banco de dados. Em teoria, essa categoria de função pode retornar diferentes resultados a cada execução, mesmo que sejam passados os mesmos argumentos.
As funções do tipo "stable" não podem alterar o banco de dados e devem retornar os mesmos resultados a cada execução, dados os mesmos argumentos para todas as linhas de uma mesma consulta.
Neste caso, as consultas poderão utilizar índices em consultas que envolvam comparações com os valores das funções, já que seu comportamento é previsível, o que não ocorre com as funções "volatile". O otimizador também, pode-se executar somente uma vez a função dentro de uma mesma consulta para cada conjunto de chamadas com... Ler mais