Mam kilka kwerend wybierających dane z kilku tabel. Wydaje mi się, że samych kwerend lepiej się już napisać nie da. Czy są jakieś narzędzie/metody na optymalizację samej struktury bazy danych, aby przyspieszyć wykonywanie tych kwerend?
Mam kilka kwerend wybierających dane z kilku tabel. Wydaje mi się, że samych kwerend lepiej się już napisać nie da. Czy są jakieś narzędzie/metody na optymalizację samej struktury bazy danych, aby przyspieszyć wykonywanie tych kwerend?
Witam.
Jeżeli kwerendy są napisane optymalnie, to najprostszą, a zarazem najbardziej efektywną metodą jest optymalizacja struktury tabel, w szczególności gdy tabele zostały zaimportowane, Access standardowo przeznancza zdecydowanie za dużo miejsca na dane.
Aby dokonać zmian w strukturze, należy przejść do widoku projektu tabeli:
A następnie należy w miarę możliwości zmniejszyć rozmiary pól, w szczególności tekstowych oraz jeżeli to konieczne - zmienić typy dla pól liczbowych.
Należy jednak pamiętać, aby najpierw sprawdzić długość wpisów, ponieważ zmniejszenie rozmiaru pola za bardzo będzie skutkowało utratą danych.
W momencie zapisywania zmian dokonanych w tabeli pokaże się komunikat informujący o tym, że pewne dane mogą zostać utracone. Niestety nie oznacza to, że faktycznie zostaną utracone, a jedynie jest to informacja, że jest taka możliwość, więc nie wiadomo, czy wyświetla się tylko zapobiegawczo, czy faktycznie tak się stanie.
Tomasz Grabowski.
Jako uzupełnienie powyższej odpowiedzi podam jeszcze sposób na sprawdzenie długości wpisów w kolumnie.
Należy stworzyć kwerendę:
Aby zbadać długość tekstu można użyć funkcji LEN()
Aby to zrobić, należy w stworzonej kwerendzie stworzyć nowe pole np "Dlugosc_Produkt:" i użyć funkcji LEN() ma wybranej kolumnie.
"Dlugosc_Produkt:Len([Produkt])".
Oczywiście można to wykonać na większej ilości kolumn.
Wynikiem będą długości wpisów z danej kolumny.
Aby nie męczyć się z wyszukiwaniem największej wartości, należy użyć funkcji MAX, a zrobić to można poprzez kliknięcie przycisku SUM, a następnie wybranie odpowiedniej funkcji.
UWAGA użytkownicy Office 2010 wersji polskiej!
W tej wersji jest błąd i funkcja Max wybrana z listy nie zadziała!.
Aby zadziałała, należy ręcznie wpisać funkcję Max() do wyrażenia: