Preciso importar cerca de 500.000 registros contendo dados de pesquisa IP (referência somente leitura) uma vez por semana (apenas três colunas int / bigint).
Eu realmente não quero me preocupar em mesclar os dados com a tabela existente. Prefiro limpar a antiga e reimportar.
O ideal é que as consultas executadas sobre os dados continuem sendo executadas (não recebemos muitas delas, e é aceitável que elas sejam executadas um pouco mais devagar enquanto a importação ocorre, mas precisam ser ativadas 24 horas por dia, sete dias por semana, portanto, execute esta " fora de horas "não é uma opção).
Coisas tentadas até agora
SSIS: Criei um pacote SSIS que trunca a tabela e importa - leva cerca de 30 segundos para ser executado (realmente muito tempo).
Tabela temporária: importar para uma tabela temporária, truncar e copiar também leva cerca de 30 segundos.
BCP: A importação em massa também é muito lenta (por algum motivo, é mais lenta que o SSIS (mesmo sem índices para manter) - acho que é algo a ver com as transações char-> int / bigint: /
Mesa de espelho? Então, no momento, estou pensando em ler a tabela através de uma visualização, importar os dados em uma tabela espelhada e alterar a visualização para apontar para esta tabela ... isso parece rápido, mas parece minúsculo um pouco hacky para mim.
Parece que isso deve ser um problema comum, mas não consigo encontrar práticas recomendadas - todas as idéias serão muito apreciadas!
obrigado
fonte