Eu tenho dados que devo inserir na tabela. Mas antes de inserir, preciso verificar os registros duplicados e relatar a lista desses registros.
Mesa:
CREATE TABLE `test` (
`A` varchar(19) NOT NULL,
`B` varchar(9) NOT NULL,
KEY `A` (`A`),
KEY `B` (`B`)
) ENGINE=InnoDB;
Preciso verificar as duas colunas:
Número de registros a inserir: ~1000
Linhas na tabela: ~1.000.000
Qual é a maneira eficiente de fazer isso.
Desde já, obrigado.
Isso dependeria do layout da tabela.
Suponha que você tenha a seguinte tabela
Antes de inserir 1.000 linhas em mydata, você pode pré-carregá-las em outra tabela chamada mynewdata assim:
Em seguida, exclua todas as linhas em mynewdata que correspondam a A ou B em mydata
O que resta em mydata são linhas que não têm correspondência A ou B
E as linhas correspondentes? Rode isto
O que resta em mynewdata são dados para importar
O que resta em mynewdups são os dados que tinham uma chave dup em mydata
De uma chance !!!