Boa tarde pessoal tenho uma tabela de lancamento de cupom fiscal com uma concorrencia muito grande e a mesma ja esta com 40gb ocasionando em uma lentidão o que posso fazer para melhorar a performace.

estrutura da tabela:

CREATE SEQUENCE seq_ecf_cupom;
CREATE TABLE ecf_cupom
(
numero_controle INTEGER DEFAULT NEXTVAL('seq_ecf_cupom') NOT NULL,
   codigo_caixa                   INTEGER NOT NULL,
   codigo_ecf                     INTEGER NOT NULL,
   modelo_ecf                     VARCHAR(20) NOT NULL,
   numero_serie_ecf               VARCHAR(21) NOT NULL,
   numero_cupom                   INTEGER NOT NULL,
   contador_documento             INTEGER NOT NULL,
   contador_reinicio_operacao     INTEGER NOT NULL,
   codigo_documento               INTEGER NOT NULL,
data_emissao TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP NOT NULL,
   valor_documento                NUMERIC(12,2) DEFAULT 0 NOT NULL,
   valor_desconto                 NUMERIC(12,2) DEFAULT 0 NOT NULL,
   valor_acrescimo                NUMERIC(12,2) DEFAULT 0 NOT NULL,
   valor_troco                    NUMERIC(12,2) DEFAULT 0 NOT NULL,
   codigo_usuario                 INTEGER NOT NULL,
   codigo_usuario_cancelamento    INTEGER,
   data_cancelamento              TIMESTAMP(0),
   codigo_cliente                 INTEGER,
   codigo_empresa                 INTEGER NOT NULL,
   ecf_hash                       TEXT,
   numero_controle_sv             INTEGER,
   numero_controle_nfs            INTEGER,
   numero_controle_orcamento      INTEGER,
   numero_controle_fech           INTEGER NOT NULL,
CONSTRAINT pk_ecf_cupom_icmecf PRIMARY KEY (codigo_empresa, numero_cupom, numero_serie_ecf, contador_reinicio_operacao), CONSTRAINT fk_ecf_cupom_coddoc FOREIGN KEY (codigo_documento) REFERENCES documento(codigo), CONSTRAINT fk_ecf_cupom_codecf FOREIGN KEY (codigo_caixa) REFERENCES ecf_caixa(codigo), CONSTRAINT fk_ecf_cupom_codusu FOREIGN KEY (codigo_usuario) REFERENCES funcionario(codigo), CONSTRAINT fk_ecf_cupom_usucan FOREIGN KEY (codigo_usuario_cancelamento) REFERENCES funcionario(codigo), CONSTRAINT fk_ecf_cupom_codemp FOREIGN KEY (codigo_empresa) REFERENCES empresa(codigo), CONSTRAINT fk_ecf_cupom_codcli FOREIGN KEY (codigo_cliente) REFERENCES cliente(codigo), CONSTRAINT fk_ecf_cupom_numcon FOREIGN KEY (numero_controle_orcamento) REFERENCES orcamento(numero_controle), CONSTRAINT fk_ecf_cupom_numnfs FOREIGN KEY (numero_controle_nfs) REFERENCES nfe_emitida(numero_controle), CONSTRAINT fk_ecf_cupom_nctlsv FOREIGN KEY (numero_controle_sv) REFERENCES saida_venda(numero_controle),
   CONSTRAINT ck_ecf_cupom_conrei CHECK (contador_reinicio_operacao > 0),
   CONSTRAINT ck_ecf_cupom_numctl UNIQUE (numero_controle)
);
ALTER TABLE orcamento ADD CONSTRAINT fk_orcamento_numecf FOREIGN KEY (numero_controle_cupom) REFERENCES ecf_cupom(numero_controle); ALTER TABLE contas_receber ADD CONSTRAINT fk_contas_receber_nunecf FOREIGN KEY (numero_controle_ecf) REFERENCES ecf_cupom(numero_controle); ALTER TABLE cheque_recebido ADD CONSTRAINT fk_cheque_recebido_nunecf FOREIGN KEY (numero_controle_ecf) REFERENCES ecf_cupom(numero_controle);

CREATE INDEX idx_ecf_cupom_numrez ON ecf_cupom(numero_controle_fech);
CREATE INDEX idx_ecf_cupom_datemi ON ecf_cupom(data_emissao);
/* ----------------------------------------------------------------------- */
CREATE TABLE ecf_cupom_lanctos
(
   numero_controle               INTEGER NOT NULL,
   numero_ordem                  INTEGER NOT NULL,
   codigo_item                   INTEGER NOT NULL,
   codigo_ncm                    CHAR(8),
   codigo_unidade                INTEGER NOT NULL,
   quantidade                    NUMERIC(12,3) NOT NULL,
   total_item                    NUMERIC(12,2) NOT NULL,
   aliquota_icms                 NUMERIC(5,2) DEFAULT 0 NOT NULL,
   totalizador_ecf               CHAR(2) NOT NULL,
   codigo_cfop                   CHAR(4) NOT NULL,
   codigo_situacao_icms          CHAR(4) NOT NULL,
   aliquota_pis                  NUMERIC(5,2) DEFAULT 0 NOT NULL,
   aliquota_cofins               NUMERIC(5,2) DEFAULT 0 NOT NULL,
   valor_pis                     NUMERIC(12,2) DEFAULT 0 NOT NULL,
   valor_cofins                  NUMERIC(12,2) DEFAULT 0 NOT NULL,
   reducao_cofins                NUMERIC(6,3) DEFAULT 0 NOT NULL,
   reducao_pis                   NUMERIC(6,3) DEFAULT 0 NOT NULL,
   ultimo_custo_contabil         NUMERIC(12,6) DEFAULT 0 NOT NULL,
   ultimo_custo_real             NUMERIC(12,6) DEFAULT 0 NOT NULL,
   ecf_hash                      TEXT,
   codigo_usuario_cancelamento   INTEGER,
   data_cancelamento             TIMESTAMP(0),
   cst_pis                       CHAR(2) NOT NULL,
   cst_cofins                    CHAR(2) NOT NULL,
   base_calculo_pis              NUMERIC(12,2) DEFAULT 0 NOT NULL,
   base_calculo_cofins           NUMERIC(12,2) DEFAULT 0 NOT NULL,
   valor_desconto                NUMERIC(12,4) DEFAULT 0 NOT NULL,
   valor_acrescimo               NUMERIC(12,4) DEFAULT 0 NOT NULL,
CONSTRAINT pk_ecf_cupom_lanctos_numord PRIMARY KEY (numero_controle, numero_ordem), CONSTRAINT fk_ecf_cupom_lanctos_numctl FOREIGN KEY (numero_controle) REFERENCES ecf_cupom(numero_controle), CONSTRAINT fk_ecf_cupom_lanctos_codite FOREIGN KEY (codigo_item) REFERENCES item(codigo), CONSTRAINT fk_ecf_cupom_lanctos_codund FOREIGN KEY (codigo_unidade) REFERENCES unidade(codigo), CONSTRAINT fk_ecf_cupom_lanctos_codcfo FOREIGN KEY (codigo_cfop) REFERENCES codigos_fiscais_operacao(codigo), CONSTRAINT fk_ecf_cupom_lanctos_codsit FOREIGN KEY (codigo_situacao_icms) REFERENCES situacao_tributaria(codigo), CONSTRAINT fk_ecf_cupom_lanctos_usucan FOREIGN KEY (codigo_usuario_cancelamento) REFERENCES funcionario(codigo), CONSTRAINT fk_ecf_cupom_lanctos_cstpis FOREIGN KEY (cst_pis) REFERENCES situacao_tributaria_piscofins(codigo), CONSTRAINT fk_ecf_cupom_lanctos_cstcof FOREIGN KEY (cst_cofins) REFERENCES situacao_tributaria_piscofins(codigo),
   CONSTRAINT ck_ecf_cupom_lanctos_numord CHECK (numero_ordem > 0),
   CONSTRAINT ck_ecf_cupom_lanctos_quanti CHECK (quantidade > 0),
   CONSTRAINT ck_ecf_cupom_lanctos_totite CHECK (total_item > 0)
);
ALTER TABLE orcamento_lanctos ADD CONSTRAINT fk_orcamento_lanctos_numcup FOREIGN KEY (numero_controle_cupom, numero_ordem_cupom) REFERENCES ecf_cupom_lanctos(numero_controle, numero_ordem); ALTER TABLE ped_entrada_devolucao_lanctos ADD CONSTRAINT fk_ped_entrada_devol_lanctos_numcup FOREIGN KEY (numero_controle_cupom, numero_ordem_cupom) REFERENCES ecf_cupom_lanctos(numero_controle, numero_ordem); /* ----------------------------------------------------------------------- */
CREATE TABLE ecf_cupom_pagamento
(
   numero_controle                INTEGER NOT NULL,
   codigo_forma_pagamento         INTEGER NOT NULL,
   valor_pagamento                NUMERIC(12,2) DEFAULT 0 NOT NULL,
   codigo_usuario                 INTEGER NOT NULL,
   codigo_usuario_cancelamento    INTEGER,
   data_cancelamento              TIMESTAMP(0),
   codigo_cartao                  INTEGER,
   codigo_administradora          INTEGER,
   numero_autorizacao             INTEGER,
   numero_parcelas                INTEGER,
   prazo_recebimento              INTEGER DEFAULT 1 NOT NULL,
   taxa_parcela                   NUMERIC(5,2) DEFAULT 0 NOT NULL,
   ecf_hash                       TEXT,
CONSTRAINT pk_ecf_cupom_pag_numfor PRIMARY KEY (numero_controle, codigo_forma_pagamento), CONSTRAINT fk_ecf_cupom_pag_numctl FOREIGN KEY (numero_controle) REFERENCES ecf_cupom(numero_controle), CONSTRAINT fk_ecf_cupom_pag_codfor FOREIGN KEY (codigo_forma_pagamento) REFERENCES forma_pagamento(codigo), CONSTRAINT fk_ecf_cupom_pag_codadm FOREIGN KEY (codigo_administradora) REFERENCES fornecedor(codigo), CONSTRAINT fk_ecf_cupom_pag_codusu FOREIGN KEY (codigo_usuario) REFERENCES funcionario(codigo), CONSTRAINT fk_ecf_cupom_pag_usucan FOREIGN KEY (codigo_usuario_cancelamento) REFERENCES funcionario(codigo)
);
/* ----------------------------------------------------------------------- */

<<attachment: cgcesarsoares.vcf>>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a