none
Conversione da MSAccess in SQLServer RRS feed

  • Domanda

  • Sto convertendo un grosso applicativo da me sviluppato in VB6 e che gestisce un archivio MSAccess (motore DAO e ADO).
    Il nuovo archivio sarà con SQLServer EXPRESS (motore ADO). Il linguaggio è sempre il VB6.
    La conversione del database MSAccess l'ho fatta con  l'utility SQLServer Migration Assistant for Access. La conversione ha riguardato solo le tabelle in quanto solo esse esistono; niente codice VBA.
    Le difficoltà che ho riscontrato riguardano :
    1) non mi sembra che ci sia la possibilità di scegliere gli indici; questo perchè il provider da me utilizzato (sqloledb) non li gestisce; è corretto quanto da me scritto ?
    2) la velocità di esecuzione delle singole query è molto più bassa, almeno di un fattore 2 o 3 o più.

    E' possibile che il database creato con la citata conversione automatica sia in qualche modo "difettoso" e che questo causi le lamentate scarse prestazioni ?
    Quali accorgimenti dovrei avere per arrivare ad avere un applicativo che abbia *almeno* le prestazioni originali ?
    Grazie per l'attenzione

    • Modificato UBot venerdì 8 giugno 2018 06:13
    venerdì 8 giugno 2018 06:11

Risposte

  • Ciao,

    Non ho mai usato il Migration Assistant, ma se non hai indici sulle tabelle, ovviamente le query hanno prestazioni scadenti.

    Verifica che sulle tabelle ci siano gli indici che ti aspetti; nel caso mancassero, puoi sempre ricrearli manualmente. Successivamente, puoi fare un'analisi dell'esecuzione delle query che ti sembrano lente catturando il loro piano di esecuzione e vedere quali sono i punti considerati critici.

    HTH


    Alberto Dallagiacoma [MCP, MCTS]

    My Italian Blog | Twitter | LinkedIn
    DotDotNet - User Group .NET Emilia Romagna

    sabato 9 giugno 2018 13:46