Access versus SQL Server

Se dă un program făcut în VB6 cu baze de date Access. Deoarece baza de date creştea de la o zi la alta, s-a ajuns la limita de 2 GB / fişier suportată de Access. Aşadar s-a hotărât convertirea acestui program în VB .NET iar bazele de date să fie trecute pe SQL SERVER pentru a elimina aceste limitări. Toate bune şi frumoase, însă există o mare diferenţă de performanţă între instrucţiunile executate în Access şi cele executate în SQL.

Programul făcut în VB6 nu este optimizat. De exemplu, la deschiderea unui form, se execută 2 instrucţiuni Select * from tabel unde primul tabel are aproape 2 milioane de înregistrări iar al 2-lea cam 1,5 milioane. Aceste înregistrări sunt încărcate în nişte obiecte pentru a fi folosite mai departe în cod la nişte calcule, dar de cele mai multe ori nici nu sunt necesare toate datele.

Ce se întâmplă în programul făcut în VB6 şi Access? Se deschide form-ul în secunda 2. Dar în programul convertit în .NET şi SQL? Încearcă să se execute cele 2 selecturi ce durează mult şi bine, memoria RAM ocupată o ia în sus şi într-un final se ajunge la o valoare foarte mare a memoriei ocupate, după care programul ajunge să se mişte tot mai greu şi la final să crape.

Like wtf? Cum poate executa aşa rapid access-ul? Peste tot în codul programului sunt tot felul de instrucţiuni neoptimizate care lasă într-un nor de praf SQL-ul, timpul de execuţie a instrucţiunilor fiind clar în favoarea Access-ului. Ca un Ferrari versus Dacie.

1 răspuns la "Access versus SQL Server"

  • FrOgIe says:
Lasă un comentariu