none
caricamento massivo di dati RRS feed

  • Domanda

  • Ciao a tutti,
    io dovrei caricare in modo massivo dei dati in SQL server 2008 express R2. I dati dovranno essere caricati in una tabella di anagrafiche, con il codice fiscale come chiave. Vorrei sapere se SQL server prevede la possibilità di aggiungere i dati mancanti e aggiornare i dati esistenti, oppure se è necessario tutte le volte vuotare la tabella e caricare nuovamente tutti i dati. Fin'ora ho sempre fatto così ma mi chiedevo se fosse possibile operare in modo diverso.

    Grazie.


    --- Mauri
    mercoledì 25 gennaio 2012 17:09

Risposte

Tutte le risposte

  • Ciao a tutti,
    io dovrei caricare in modo massivo dei dati in SQL server 2008 express R2. I dati dovranno essere caricati in una tabella di anagrafiche, con il codice fiscale come chiave. Vorrei sapere se SQL server prevede la possibilità di aggiungere i dati mancanti e aggiornare i dati esistenti, oppure se è necessario tutte le volte vuotare la tabella e caricare nuovamente tutti i dati. Fin'ora ho sempre fatto così ma mi chiedevo se fosse possibile operare in modo diverso.

    Grazie.


    --- Mauri


    In SQL Server 2008 è stata introdotta l'istruzione MERGE (http://technet.microsoft.com/it-it/library/bb510625.aspx)

    Sul portale BE.IT trovi un ottimo video di Sergio Govoni che ti spiega come usarlo: http://www.microsoft.com/italy/beit/TechNet.aspx?video=SQL-Server-2008-R235MERGE-Statement

    Il tutto lo trovi anche spiegato in un articolo, sempre di Sergio, su UGISS: http://www.ugiss.org/ReadArticle.aspx?aid=749

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    • Contrassegnato come risposta MauriBS mercoledì 25 gennaio 2012 19:37
    mercoledì 25 gennaio 2012 17:29
  • Ciao Francesco e grazie per la risposta.

    I link che mi hai indicato sono stati utilissimi.

    Ciao.


    --- Mauri
    mercoledì 25 gennaio 2012 19:37
  • Ciao Francesco e grazie per la risposta.

    I link che mi hai indicato sono stati utilissimi.

    Ciao.


    --- Mauri

    Bene, è stato un piacere! :)
    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    mercoledì 25 gennaio 2012 19:41
  • Aggiungo solamente che ieri sera ho fatto un po' di esperimenti con alcune tabelle di prova con pochissimi record, mentre questa mattina ho provato sulle tabelle reali e devo dire che sono rimasto stupito dalla velocità di esecuzione. E' vero che i record non sono tantissimi (circa 10000), ma ha eseguito l'aggiornamento/inserimento in una manciata di secondi.
    Ti ringrazio ancora per l'aiuto.

    Ciao.


    --- Mauri
    giovedì 26 gennaio 2012 10:48
  • Aggiungo solamente che ieri sera ho fatto un po' di esperimenti con alcune tabelle di prova con pochissimi record, mentre questa mattina ho provato sulle tabelle reali e devo dire che sono rimasto stupito dalla velocità di esecuzione. E' vero che i record non sono tantissimi (circa 10000), ma ha eseguito l'aggiornamento/inserimento in una manciata di secondi.
    Ti ringrazio ancora per l'aiuto.

    Ciao.


    --- Mauri


    Si considera che stai usando una funzionalità integrata direttamente nell'engine. I piani di esecuzione possono solo beneficiarne rispetto ad una soluzione homemade (che spesso non è facile da far capire al Query Plan Optimizer).

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter
    giovedì 26 gennaio 2012 11:19