[ Pobierz całość w formacie PDF ] .Przykładowo, aby przedstawić dynamiczny zestaw rekordów(dynaset), użyje on planu, który umożliwi efektywne zaprezentowanie pierwszej strony danych nawet, jeśli plan tenbędzie wolniejszy przy prezentowaniu pozostałych rekordów.Do stworzenia dynasetu Jet użyje zestawu unikalnychwartości klucza, które wskażą wiersze w podległych tabelach podstawowych.Dzięki temu, wystarczy, że Jet zaprezentujetylko wartości klucza, a dalsza część rekordów może zostać odsłonięta dopiero, gdy zażyczy sobie tego użytkownik.Natomiast w przypadku zdjęcia, Jet zbiera wszystkie rekordy i kolumny, zanim zaprezentuje wyniki.Jeśli całe zdjęcie niemieści się w pamięci, zostanie przerzucony do pliku wymiany, co będzie miało negatywny wpływ na wydajność.Większąwydajność uzyskałbyś więc z dużego dynasetu niż dużego zdjęcia.Najpierw Jet wycenia opcje dostępu do tabel podstawowych.Każdy plan dostępu do tabeli podstawowej otrzymuje ocenę.Następnie Jet wycenia dostępne opcje sprzężenia i przyznaje im oceny.Jet będzie brał jedynie pod uwagę sprzężeniewyników relacji z tabelą podstawową.Nie bierze zaś pod uwagę sprzężenia wyników jednego sprzężenia z drugim.Umożliwia to ograniczenie czasu, jaki Jet poświęci na optymalizację kwerend.Po przeanalizowaniu każdej możliwej strategiisprzężenia i każdej możliwej strategii dostępu do tabeli podstawowej oraz po uwzględnieniu żądanego typu zestawu wyni-ków Jet wybierze plan.W przypadku tabel nie korzystających z ODBC Jet oczyści, zmniejszy i przekaże plan do wykonania.Taka kompilacja i optymalizacja ma miejsce, gdy po raz pierwszy tworzysz, modyfikujesz lub uruchamiasz kwerendę.Kwerenda może pozostać nieskompilowana, jeśli zmodyfikujesz ją i zapiszesz, ale nie uruchomisz.Również w przypadku,gdy modyfikujesz indeksy tabeli lub schemat danych, kwerendy mogą nie być optymalizowane.Pamiętaj, by zawsze przeddostarczeniem aplikacji użytkownikom otwierać kwerendy w widoku Projekt, zapisywać je i uruchamiać.Dzięki temubędziesz miał pewność, że kwerendy są skompilowane.W celu zoptymalizowania kwerend, Jet wykonuje kompleksową ocenę kosztów.Pośród elementów tej oceny znajduje sięprzegląd statystyk bazy danych.Statystyki te mówią, ile w bazie danych istnieje stron danych, stron indeksowanych, wierszy wtabelach i innych elementów.Statystyki te mogą być zniekształcone, jeśli baza została w nieprzewidziany sposób zamknięta,wstrzymano transakcje lub baza wymaga zmniejszenia.Pamiętaj, by przed optymalizacją wykonać kompaktowanie bazydanych.Jak już pisaliśmy wcześniej, Jet tworzy plan wykonywania dla każdej kwerendy.Tworząc w rejestrze wpis\HKEY_LOCAL_MACHINES\SOFTWARE\MICROSOFT\JET\4.0\ENGINES\DEBUGi ustawiając jego wartość ciągu na On, Jet utworzy w bieżącym folderze plik tekstowy, zawierający plan wykonywaniakwerendy.Wiele z omówionych już tematów pojawia się w planie optymalizacji kwerendy.Nie masz możliwościmodyfikowania planu, chyba że poprzez zmianę schematu danych, konstrukcję kwerendy lub ograniczenia w kwerendzie.Im plan bardziej szczegółowy, tym lepiej.Wydruk 14.3 przedstawia plan wykonywania kwerendy Zamówienia Kwartalnew bazie Northwind.253Rozdział 14.f& Optymalizacja aplikacjiWydruk 14.3.Plan wykonywania kwerendy, korzystający z optymalizacji Rushmore--- Quarterly Orders ----Inputs to Query-Table "Customers"Using index "Primary Key"Having Indexes:Primary Key 91 Entries, 1 page, 91 ValuesWhich has 1 column, fixed unique, primary key, no nullsPostal Code 91 Entries, 1 page, 87 ValuesWhich has 1 column, fixedCompany Name 91 Entries, 3 pages, 91 ValuesWhich has 1 column, fixedCity 91 Entries, 1 page, 69 ValuesWhich has 1 column, fixedTable "Orders"-End inputs to query-01) Restrict rows of table Ordersusing rushmorefor expression "Orders.OrderDate Between #1/1/98# And#12/31/98#"02) Outer Join result of "01)" to table "Customers"using index "Customers!PrimaryKey"join expression "Orders.CustomerID=Customers.CustomerID"03) Sort Distinct result of "02)"Możesz zauważyć sekcję tabeli podstawowej, z analizą indeksów i liczbą elementów, baz danych, indeksowanych stronoraz przetwarzanych wartości.Zauważ również, że Rushmore może optymalizować tę kwerendę dzięki indeksowi w poluData Zmówienia tabeli Zamówienia
[ Pobierz całość w formacie PDF ] zanotowane.pldoc.pisz.plpdf.pisz.plmikr.xlx.pl
|