Por que eu devo ler este artigo:Este artigo demonstra algumas novidades e analisa o desempenho do SGBD Firebird 3 (RC1), comparado à última versão 2.5.4. Tal abordagem se impõe para saber quais as funcionalidades e também otimizações quanto ao desempenho que temos nesta nova versão do banco de dados em ambiente multiprocessado (SMP). O propósito deste estudo é colocar os desenvolvedores e administradores de banco de dados cientes das evoluções em funções e principalmente em desempenho, compilando os comparativos entre as versões para se chegar a uma conclusão se vale a pena migrar para a nova versão. Este intento é conseguido através de uma bateria de testes com três máquinas. São demonstradas também dicas para a melhor configuração do servidor Firebird 3. A análise comprovou que a nova versão do Firebird está cheia de melhorias quanto ao desempenho, fazendo valer a pena o grande diferencial que foi implantado.

Este artigo apresenta um conjunto de testes cujo objetivo é descrever um comparativo de desempenho entre as versões do SGBD Firebird 2.5.4 e a versão 3 (RC 1). Tal abordagem se justifica para saber quais as otimizações quanto ao desempenho temos nesta nova versão do banco de dados. Previamente são mostradas também algumas novas funcionalidades e um guia para personalização do arquivo de configuração do Firebird para obter um melhor desempenho na nova versão.

É importante salientar também a contribuição do trabalho para desenvolvedores e administradores de banco de dados que utilizam Firebird no tipo de instalação SuperServer e SuperClassic (discutidos mais à frente neste artigo).

O objetivo é atingir tanto os que usam SuperServer quanto os que usam o SuperClassic na versão atual, já que o primeiro é o responsável pela maioria das instalações do Firebird, e o segundo por ser usado em grandes corporações com grandes bases de dados. A partir de agora conheceremos algumas das novidades presentes na nova versão do Firebird.

Colunas Identity

O uso de generators e triggers para se ter um “autoincremento” no Firebird não é mais necessário. A coluna identity é associada a um gerador interno, fazendo com que em um insert, se o valor de um campo identity não for informado, seja assumido automaticamente o próximo valor da sequência.

Na Listagem 1 é criada uma tabela cliente com um campo sendo do tipo integer com valor gerado por identity. Logo em seguida são inseridos alguns registros sem informar valor para esse campo, logo, na Figura 1, nota-se que o campo ID foi incrementado automaticamente pelo gerador.

Listagem 1. Criação e manipulação de coluna identity.

create table cliente(
  id integer generated by default as identity primary key,
  nome varchar(100));
   
  commit work;
   
  insert into cliente (nome) values('Maria');
  insert into cliente (nome) values('José');
  insert into cliente (nome) values('João');
  insert into cliente (nome) values('Pedro');
  insert into cliente (nome) values('Mario');
  insert into cliente (nome) values('Paulo');
  insert into cliente (nome) values('Luciana');
  insert into cliente (nome) values('Lucas');
  insert into cliente (nome) values('Pamela');
  insert into cliente (nome) values('Marina');
  insert into cliente (nome) values('Miller');

...

Quer ler esse conteúdo completo? Tenha acesso completo