indice
Entendendo o B-Tree Scanner
O B-Tree Scanner é um recurso interno do Informix que tem por objetivo manter as estruturas dos índices otimizadas para evitar degradação na performance de buscas.
Qual informação de estatística é criada durante a criação de um indice?
Obs.: Este recurso está disponível apenas a partir da versão 11.10.
- Coleta estatísticas de indice equivalente a um UPDATE STATISTICS LOW, que se refere a dados como o segundo maior
Como validar as alterações de dados (constraints) apenas no final da transação?
Basta utililizar SET CONSTRAINTS [ALL|cons] DEFERRED
Exemplo:
[code]
create table tp01 ( cod integer, cod2 char(1) );
alter table tp01 add constraint unique (cod) constraint ucons;
insert into tp01 values (1,"a");
insert into tp01 values (2,"b");
insert into tp01 values (3,"c");
insert into tp01 values (4,"d");
set constraints all deferred;
begin work;
update tp01 set cod = 4 where cod2 = "b" ;
up
- Leia mais
- 55 leituras
Quais cuidados tomar para criação de indices utilizando parametro ONLINE?
- O banco precisa de lock exclusivo apenas no momento de "commitar" a criação de indice, portanto definir o SET LOCK MODE TO WAIT
Reniciar a thread do B-Tree Cleaner na versão 7.31
Basta setar a variável de ambiente export KVLOCKING_TEST=1 e executar o comando onmode -C 1 (parar) e onmode -C 0 (iniciar)
- Comentar
- 77 leituras
Tratando dados duplicados em indices com Violations table
Objetivo do violations é tratar "falhas" em indices e constraints.
Estas falhas são: dados duplicados em indices e falha na checagem da constraint.
Quando o violations é ativado, qualquer falha é logada em 2 tabelas podendo assim realizar um tratamento relacionado aos dados.
Para trabal
Comportamento do CREATE INDEX ONLINE internamente
O teste aqui descrito foi realizado na versão 11.10.
Parâmetro utilizado ONLIDX_MAXMEM
- A tabela que terá o índice criado não pode ter nenhum lock exclusivo.
- Realiza um checkpoint.
- Identifica como está particionada (fragmentos) a tabela e cria threads/buffer chamados "pimage_<partnum>" e "ulog_<partnum>" onde:
PIMAGE: Pré-Image, são as paginas Before Imag
Onde o parametro FILLFACTOR é gravado e como consulta-lo?
O parâmetro FILLFACTOR utilizado na criação de indices não é salvo em nenhum local do banco de dados.
Uma das razões para isso é devido o fato que logo após o indice ser criado, ele pode e provavelmente irá sofrer alterações e assim o espaço reservado pelo FILLFACTOR será utilizado.




