Artur Sołtysiak

Artur Sołtysiak Specjalista ds.
inwestycji, Orange
Polska S.A.

Temat: Access i tabele połączone

Sytuacja przedstawia się następująco:
Dla własnej wygody piszę bazę dla firmy sprzedażowej (w której pracuję). Składa się ona (firma) z 50 działów po 5-7 pracowników w każdym. Firma posiada własną sieć. Każdy z pracowników pracuje na bazie online - dopisuje rekordy, edytuje je i od czasu do czasu wykonuje raporty. Każdy ma w swoim komputerze bazę z formularzami i raportami i połączonymi tabelami z bazy centralnej, która znajduje się na udostępnionym dla wszystkich zasobie. Chodzi mi o szybkość pracy. Co będzie wydajniejsze - utworzenie 1 tabeli dla wszystkich powiększonej o pola identyfikujące dział, czy utworzenie 50 identycznych tabel o różnych nazwach (osobna dla każdego działu). Każdy dział dopisuje do bazy około 600 rekordów miesięcznie. Czas przechowywania danych - pół roku.
Może ktoś już coś takiego przerabiał.
I jeszcze jedno - nie ma możliwości uruchomienia np. serwera SQL. Baza musi funkcjonować w istniejących waruknach.
Bardzo byłbym wdzięczny za informacje.

konto usunięte

Temat: Access i tabele połączone

Artur Sołtysiak:
Sytuacja przedstawia się następująco:
Dla własnej wygody piszę bazę dla firmy sprzedażowej (w której pracuję). Składa się ona (firma) z 50 działów po 5-7 pracowników w każdym. Firma posiada własną sieć. Każdy z pracowników pracuje na bazie online - dopisuje rekordy, edytuje je i od czasu do czasu wykonuje raporty. Każdy ma w swoim komputerze bazę z formularzami i raportami i połączonymi tabelami z bazy centralnej, która znajduje się na udostępnionym dla wszystkich zasobie. Chodzi mi o szybkość pracy. Co będzie wydajniejsze - utworzenie 1 tabeli dla wszystkich powiększonej o pola identyfikujące dział, czy utworzenie 50 identycznych tabel o różnych nazwach (osobna dla każdego działu). Każdy dział dopisuje do bazy około 600 rekordów miesięcznie. Czas przechowywania danych - pół roku.
Może ktoś już coś takiego przerabiał.
I jeszcze jedno - nie ma możliwości uruchomienia np. serwera SQL. Baza musi funkcjonować w istniejących waruknach.
Bardzo byłbym wdzięczny za informacje.

robienie 50 tabel jest błędem logicznym konstrukcji bazy danych
Artur Sołtysiak

Artur Sołtysiak Specjalista ds.
inwestycji, Orange
Polska S.A.

Temat: Access i tabele połączone

Też mi się tak wydaje. Ale ciągłe przeszukiwanie, sortowanie 400 000 rekordów trwa straszliwie długu przy połączonej tabeli. Jak to przyspieszyć?

konto usunięte

Temat: Access i tabele połączone

Artur Sołtysiak:
Też mi się tak wydaje. Ale ciągłe przeszukiwanie, sortowanie 400 000 rekordów trwa straszliwie długu przy połączonej tabeli. Jak to przyspieszyć?

biorąc pod uwagę specyfikę organizacji, najlepiej skopiować plik z danymi na własny desktop i pracować na własnej maszynie

przydało by się też dodać indeksy, znormalizować dane -> zmniejsza to fizyczną ilość danych jakie przetwarzamy i dodajemy elementy wspomagające agregowanie danych

wzrost prędkości uzyskamy dopiero po przejściu na jakiś serwer sql-owy i podlinkowanie tabel z pozycji access-a, ale to są w tej organizacji straszne korowody :(
Tomasz Niewolik

Tomasz Niewolik
Programista/Projekta
nt

Temat: Access i tabele połączone

Artur Sołtysiak:
Też mi się tak wydaje. Ale ciągłe przeszukiwanie, sortowanie 400 000 rekordów trwa straszliwie długu przy połączonej tabeli. Jak to przyspieszyć?

Jak już pisał kolega wyżej jeśli są problemy z wydajnością to możesz przenieść się na jakiś serwer bazodanowy (z Accessem najlepiej współpracuje MS SQL Server), ale 400 000 to nie jest liczba z którą Access może sobie nie poradzić. Nim to zrobisz powinieneś oczywiście upewnić się, że wszystkie indeksy, klucze obce itp. są zindeksowane. Dla przyspieszenia pracy możesz filtrować dane nim udostępnisz je użytkownikowi, tak żeby widział tylko swój dział (dobrze to zrobić tak, żeby filtrowanie odbywało się po stronie serwera, a nie dopiero po ściągnięciu wszystkich danych). Możliwości poprawy działania jest sporo, czasami problemem jest sam formularz.



Wyślij zaproszenie do