Jump to content
Fivewin Brasil

COPIAR UMA TABELA PARA OUTRA COM FILTROS


marcioe

Recommended Posts

Meus amigos,

Estou tendo um problema de lentidao, com uma tabela (MYSQL) que tem mais de 3.000.000 de registros, e é acessado remotamente por TERMINAL server, roda razoavel, mas esta ficando lento quando umas 10 pessoas penduram ao mesmo tempo.

O servidor é Linux, Porem esta tabela é das notas fiscais transportadas pela empresa, porem esta com registros de uns 2 anos,
estava pensando em criar uma tabela identica, porem queria copiar tipo assim os registros de 2013 e 2014, e quando fosse 2016 copiar os de 2015, via comando sql, sem quer que criar variaveis e ler um e gravar e outro.

Seria como se fosse um arquivo morto.

Alguma ideia dos amigos

Link to comment
Share on other sites

Ola, Boa noite

Faça da seguinte forma

INSERT INTO nova_tabela ( Select * FROM tabela_atual WHERE data_do_filtro BETWEEN "2013-01-01" AND "2014-12-31" )

essa é uma forma mais simples de se fazer em MYSQL, estou mudando para o POSTGRES justamente para fazer isso de forma transparente no DB, pois tem a possibilidade de se particionar a TABELA por ano dentro de uma DDL do POSTGRES, e não importa a forma de SELECT que voce faz se for em anos anteriores.

Pois tenho um cliente com 23 Filiais e estou tendo muitos problemas de lentidão, pois o DB em MYSQL esta desde 2002, e uma das tabelas ja esta com mais de 500 milhoes de linhas.

Espero ter ajudado.

Link to comment
Share on other sites

Creio que sim.

A tabela está assim.

CREATE TABLE `ctrc_nf` (
	`ID` INT(11) NOT NULL AUTO_INCREMENT,
	`ID_CTRC` INT(11) NULL DEFAULT '0',
	`SERIE_NF` CHAR(3) NULL DEFAULT '',
	`NUMERO_NF` CHAR(11) NULL DEFAULT '0',
	`CFOP` CHAR(5) NULL DEFAULT '' COMMENT 'CFOP',
	`NF_ENTRADA_SAIDA` CHAR(1) NULL DEFAULT '1' COMMENT 'Campo que Define se a Nota foi de 0-Entrada ou 1-Saida',
	`DATA_EMISSAO_NF` DATE NULL DEFAULT '0000-00-00',
	`MODELO_DOCUMENTO` CHAR(2) NULL DEFAULT '',
	`PLACA_VEICULO` CHAR(8) NOT NULL DEFAULT '0',
	`PLACA_CARRETA` CHAR(8) NULL DEFAULT '' COMMENT 'Placa da Carreta',
	`FRETE_POR_CONTA` CHAR(1) NULL DEFAULT NULL COMMENT '0-emitente 1-destinatario 2-terceiros 9-sem frete',
	`CNPJ_TRANSPORTDORA` CHAR(14) NOT NULL DEFAULT '0' COMMENT 'Cnpj da Empresa Transportadora da Carga',
	`ROMANEIO` CHAR(50) NULL DEFAULT '',
	`PEDIDO` CHAR(50) NULL DEFAULT '',
	`NUMERO_TRANSPORTE` CHAR(30) NULL DEFAULT '' COMMENT 'Numero do Transporte',
	`NUMERO_TRANSPORTE_ORIGINAL` CHAR(30) NULL DEFAULT '' COMMENT 'Numero do Transporte',
	`NUMERO_TRANSPORTE_PRINCIPAL` CHAR(30) NULL DEFAULT '' COMMENT 'Numero do Transporte',
	`LOCAL_NEGOCIOS` CHAR(30) NULL DEFAULT '' COMMENT 'Numero do Transporte',
	`TIPO_TRANSPORTE` CHAR(30) NULL DEFAULT '' COMMENT 'Tipo de Transporte',
	`LOCAL_ORIGEM_TRANSPORTE` CHAR(30) NULL DEFAULT '' COMMENT 'Local de Origem do Transporte',
	`CODIGO_TRANSPORTADOR` CHAR(10) NULL DEFAULT '' COMMENT 'Código do Transportador',
	`MOTIVO_COMPLEMENTO_FRETE` CHAR(50) NULL DEFAULT '' COMMENT 'Motivo complemento de Frete',
	`CODIGO_COMPLEMENTO_FRETE` CHAR(2) NULL DEFAULT '' COMMENT 'Codigo Complemento do Frete',
	`TIPO_CUSTO_FRETE` CHAR(10) NULL DEFAULT '' COMMENT 'Tipo de Custo do Frete',
	`BASE_CALCULO` DECIMAL(18,2) NULL DEFAULT '0.00',
	`VALOR_ICMS` DECIMAL(18,2) NULL DEFAULT '0.00',
	`ALIQUOTA_ICMS` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Aliquota de Icms',
	`BASE_CALCULO_ST` DECIMAL(18,2) NULL DEFAULT '0.00',
	`VALOR_ICMS_ST` DECIMAL(18,2) NULL DEFAULT '0.00',
	`PESO_LIQUIDO` DECIMAL(18,3) NULL DEFAULT '0.000',
	`PESO_TOTAL_KG` DECIMAL(18,3) NULL DEFAULT '0.000',
	`VALOR_PRODUTOS` DECIMAL(18,2) NULL DEFAULT '0.00',
	`NUMERO_VOLUMES` INT(10) NULL DEFAULT '0',
	`ESPECIE_VOLUMES` CHAR(30) NULL DEFAULT NULL,
	`VALOR_NOTA` DECIMAL(18,2) NULL DEFAULT '0.00',
	`VALOR_FRETE` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Valor do Frete',
	`VALOR_FRETE_CARRETA` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Valor Frete Carreta',
	`VALOR_FRETE_RATEADO` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Valor do Frete Calculado Pelo Rateio',
	`VALOR_FRETE_ANTES_RATEADO` DECIMAL(18,2) NULL DEFAULT '0.00' COMMENT 'Valor do Frete Antes do Rateio do Frete',
	`CHAVE_NFE` CHAR(60) NULL DEFAULT '',
	`CHAVE_NFE_COMPLEMENTO` CHAR(14) NULL DEFAULT '',
	`PIN_CHAVE` INT(11) NULL DEFAULT '0',
	`DESCRICAO_COMPLEMENTO` CHAR(60) NULL DEFAULT '' COMMENT 'Descricao do Complemento ',
	`DISTANCIA` DECIMAL(18,4) NULL DEFAULT '0.0000' COMMENT 'Distancia Percorrida',
	`QTDE_ENTREGAS` INT(10) NULL DEFAULT '0' COMMENT 'Quantidade de Entregas',
	`NUMERO_PRE_CTRC` INT(10) NULL DEFAULT '0' COMMENT 'Numero do Pre-Ctrc',
	`MOTIVO_COMPLEMENTO` CHAR(30) NULL DEFAULT '' COMMENT 'Motivo do Complemento ',
	`NUMERO_MINUTA` INT(11) NULL DEFAULT '0',
	`SERIE_MINUTA` CHAR(3) NULL DEFAULT '',
	`CODIGO_EMITENTE` INT(6) NOT NULL DEFAULT '0',
	`IE_EMITENTE` CHAR(18) NULL DEFAULT '' COMMENT 'Numero do Pre-Ctrc',
	`CNPJ_EMITENTE` CHAR(14) NULL DEFAULT '' COMMENT 'Cnpj do emitente',
	`UF_EMITENTE` CHAR(2) NULL DEFAULT '',
	`CODIGO_MUNICIPIO_EMITENTE` INT(10) NOT NULL DEFAULT '0',
	`CNPJ_DESTINATARIO` CHAR(14) NULL DEFAULT '',
	`UF_DESTINATARIO` CHAR(2) NULL DEFAULT '',
	`CODIGO_MUNICIPIO_DESTINATARIO` INT(10) NOT NULL DEFAULT '0',
	`SELECIONADO_EDI` CHAR(1) NULL DEFAULT 'N' COMMENT 'Selecionado E.D.I',
	`DATA_OCORRENCIA` DATE NULL DEFAULT '0000-00-00' COMMENT 'Data Ocorrencia',
	`HORA_OCORRENCIA` CHAR(10) NULL DEFAULT '00:00:00' COMMENT 'Hora Ocorrencia',
	`CODIGO_OCORRENCIA` CHAR(4) NULL DEFAULT '' COMMENT 'Código da Ocorrencia Conforme Embarcadora',
	`ACAO_OCORRENCIA` CHAR(1) NULL DEFAULT '' COMMENT 'Código da Acao de Ocorrencia',
	`OBS_OCORRENCIA` CHAR(100) NULL DEFAULT '' COMMENT 'Código da Ocorrencia Conforme Embarcadora',
	`DATA_IMPORTACAO` DATE NOT NULL DEFAULT '0000-00-00',
	`HORA_IMPORTACAO` CHAR(10) NULL DEFAULT '00:00:00',
	`NOME_ARQUIVO_CAMINHO` VARCHAR(250) NOT NULL,
	`CUBAGEM` DECIMAL(18,3) NULL DEFAULT '0.000' COMMENT 'Cubagem NF-e (M3)',
	`FATOR_CUBAGEM` DECIMAL(18,3) NULL DEFAULT '0.000' COMMENT 'Fator de Cubagem',
	`SUBCONTRATACAO` CHAR(1) NULL DEFAULT 'N' COMMENT 'Subcontratação',
	`CNPJ_SUBBCONTRATADO` CHAR(18) NULL DEFAULT '' COMMENT 'CNPJ do subcontrato',
	`CIDADE_SUBBCONTRATADO` CHAR(7) NULL DEFAULT '' COMMENT 'Cidade do subcontratado(IBGE)',
	`CHAVE_CTE_SUBBCONTRATADO` CHAR(44) NULL DEFAULT '' COMMENT 'Chave do CT-e',
	`REDESPACHO` CHAR(1) NULL DEFAULT 'N' COMMENT 'Identifica Redespacho',
	`CNPJ_REDESPACHO` CHAR(18) NULL DEFAULT '' COMMENT 'CNPJ Transportador Redespacho',
	`CIDADE_REDESPACHO` CHAR(7) NULL DEFAULT '' COMMENT 'Cidade do Redespacho IBGE',
	`UF_REDESPACHO` CHAR(2) NULL DEFAULT '' COMMENT 'UF do Redespacho',
	PRIMARY KEY (`ID`),
	INDEX `IDX_CHAVE_NFE` (`CHAVE_NFE`),
	INDEX `IDX_ID_CTRC` (`ID_CTRC`),
	INDEX `IDX_NUMERO_NF` (`NUMERO_NF`),
	INDEX `IDX_NUMERO_TRANSPORTE` (`NUMERO_TRANSPORTE`),
	INDEX `IDX_NUMERO_PRE_CTRC` (`NUMERO_PRE_CTRC`),
	INDEX `IDX_PLACA_CARRETA` (`PLACA_CARRETA`),
	INDEX `IDX_PLACA_VEICULO` (`PLACA_VEICULO`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...