Tworzenie indeksu i stosowanie go w celu zwiększenia wydajności

Tworzenie indeksu i stosowanie go w celu zwiększenia wydajności

Jeśli wyszukiwanie w tabeli lub sortowanie jej rekordów w programie Access jest często wykonywane według określonego pola, można przyspieszyć te operacje, tworząc indeks tego pola. Program Access używa indeksów w tabeli tak samo jak używa się indeksu w książce: aby znaleźć dane, program Access wyszukuje ich położenie w indeksie. W niektórych przypadkach, na przykład w przypadku klucza podstawowego, program Access tworzy indeks automatycznie. W innych sytuacjach użytkownik może sam utworzyć indeks.

Ten artykuł stanowi wprowadzenie do indeksów. Opisano w nim także, jak wybierać pola do indeksowania oraz tworzyć, usuwać i zmieniać indeks. Ponadto wyjaśniono warunki, w jakich indeksy są automatycznie tworzone przez program Access.

W tym artykule

Co to jest indeks?

Wybieranie pól do indeksowania

Tworzenie indeksu

Usuwanie indeksu

Wyświetlanie i edytowanie indeksów

Automatyczne tworzenie indeksu

Uwaga : Metody opisane w tym artykule nie mogą służyć do tworzenia indeksów tabel baz danych sieci Web. Wydajność bazy danych sieci Web zależy od kilku czynników, na przykład szybkości działania serwera SharePoint, który udostępnia tę bazę.

Co to jest indeks?

Indeks może być używany do wspomagania szybszego znajdowania i sortowania rekordów w programie Access. W indeksie jest przechowywana lokalizacja rekordów na podstawie pola lub pól, które wybrano do indeksowania. Po uzyskaniu lokalizacji z indeksu program Access może pobrać dane, przechodząc bezpośrednio do odpowiedniej lokalizacji. Dzięki temu stosowanie indeksu może być znacznie szybsze niż skanowanie wszystkich rekordów w celu znalezienia danych.

Wybieranie pól do indeksowania

Indeksy można tworzyć na podstawie jednego pola lub na podstawie wielu pól. W indeksie są najczęściej uwzględniane pola często przeszukiwane i sortowane oraz sprzężone z polami z innych tabel w zapytaniach wielotabelowych. Indeksy mogą przyspieszyć wyszukiwanie i wykonywanie zapytań, ale mogą zmniejszyć wydajność przy dodawaniu lub aktualizowaniu danych. Podczas wprowadzania danych w tabeli zawierającej jedno lub więcej pól indeksowanych program Access musi aktualizować indeksy każdorazowo po dodaniu lub zmienieniu rekordu. Dodawanie rekordów przy użyciu zapytania dołączającego lub przez dołączanie zaimportowanych rekordów może być również wolniejsze, jeśli tabela docelowa zawiera indeksy.

Uwaga : Klucz podstawowy tabeli jest indeksowany automatycznie.

Nie można indeksować pola o typie danych Obiekt OLE, Obliczeniowy lub Załącznik. W innych polach można zastosować indeksowanie pod warunkiem spełnienia wszystkich poniższych kryteriów:

  • Typ danych pola to Krótki tekst (Tekst w programie Access 2007 i 2010), Długi tekst (Nota w programie Access 2007 i 2010), Liczba, Data/Godzina, Autonumer, Waluta, Tak/Nie lub Hiperlink.

  • Przewiduje się wyszukiwanie wartości w tym polu.

  • Przewiduje się sortowanie wartości w tym polu.

  • Przewiduje się przechowywanie wielu różnych wartości w tym polu. Jeśli pole zawiera wiele takich samych wartości, indeks może nie przyspieszyć znacznie wykonywania zapytań.

Indeksy utworzone na podstawie kilku pól

Jeśli przewiduje się częste wyszukiwanie lub sortowanie według dwóch lub kilku pól równocześnie, można utworzyć indeks dla takiej kombinacji pól. Jeśli na przykład w tym samym zapytaniu często są ustawiane kryteria dla pól Dostawca i NazwaProduktu, rozsądnie jest na podstawie tych dwóch pól utworzyć indeks wielopolowy.

Podczas sortowania tabeli według indeksu wielopolowego program Access najpierw sortuje ją według pierwszego pola określonego dla indeksu. Kolejność pól jest ustawiana podczas tworzenia indeksu wielopolowego. Jeśli istnieją rekordy o zduplikowanych wartościach w pierwszym polu, w następnej kolejności program Access sortuje tabelę według drugiego pola określonego dla indeksu itd.

Indeks wielopolowy może zawierać najwyżej 10 pól.

Tworzenie indeksu

Aby utworzyć indeks, należy najpierw zadecydować, czy będzie to indeks jednopolowy czy wielopolowy. Indeks dla jednego pola jest tworzony przez ustawienie właściwości Indeksowane. Poniższa tabela zawiera możliwe ustawienia właściwości Indeksowane.

Ustawienie właściwości Indeksowane

Znaczenie

Nie

Dla tego pola nie zostanie utworzony indeks (lub istniejący indeks zostanie usunięty)

Tak (Duplikaty OK)

Dla tego pola zostanie utworzony indeks

Tak (Bez duplikatów)

Dla tego pola zostanie utworzony indeks unikatowy

W przypadku utworzenia indeksu unikatowego program Access nie zezwoli na wprowadzenie nowej wartości w polu, jeśli taka wartość już istnieje w tym samym polu w innym rekordzie. Indeks unikatowy jest w programie Access automatycznie tworzony dla kluczy podstawowych, ale można także zapobiec duplikowaniu wartości w innych polach. Można na przykład utworzyć indeks unikatowy dla pola, w którym są przechowywane numery seryjne, aby dwa produkty nie miały tego samego numeru seryjnego.

Tworzenie indeksu opartego na jednym polu    

  1. W okienku nawigacji kliknij prawym przyciskiem myszy nazwę tabeli, w której chcesz utworzyć indeks, a następnie w menu skrótów kliknij polecenie Widok projektu.

  2. Kliknij pozycję Nazwa pola dla pola, które chcesz indeksować.

  3. W obszarze Właściwości pola kliknij kartę Ogólne.

  4. We właściwości Indeksowane kliknij pozycję Tak (Duplikaty OK), aby zezwolić na duplikaty, lub Tak (Bez duplikatów), aby utworzyć indeks unikatowy.

  5. Aby zapisać zmiany, kliknij przycisk Zapisz na pasku narzędzi Szybki dostęp lub naciśnij klawisze CTRL+S.

Tworzenie indeksu opartego na wielu polach    

W celu utworzenia indeksu wielopolowego dla tabeli należy dołączyć wiersz do każdego pola w indeksie i dołączyć nazwę indeksu tylko do pierwszego wiersza. W programie Access wszystkie wiersze są traktowane jako część tego samego indeksu, aż do wiersza zawierającego nazwę innego indeksu. Aby wstawić wiersz, kliknij prawym przyciskiem myszy lokalizację, w której ma zostać wstawiony, a następnie w menu skrótów kliknij polecenie Wstaw wiersze.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy nazwę tabeli, w której chcesz utworzyć indeks, a następnie w menu skrótów kliknij polecenie Widok projektu.

  2. Na karcie Projekt w grupie Pokazywanie/ukrywanie kliknij przycisk Indeksy.

    Zostanie wyświetlone okno Indeksy. Zmień rozmiar okna tak, aby były widoczne niektóre puste wiersze oraz właściwości indeksu.

  3. W pierwszym pustym wierszu w kolumnie Nazwa indeksu wpisz nazwę tworzonego indeksu. Nazwa indeksu może być taka sama jak nazwa jednego z indeksowanych pól lub inna.

  4. W kolumnie Nazwa pola kliknij strzałkę, a następnie kliknij pierwsze pole, którego chcesz użyć w indeksie.

  5. W następnym wierszu pozostaw kolumnę Nazwa indeksu pustą, a następnie w kolumnie Nazwa pola wybierz kolejne pole do indeksu. Powtarzaj te czynności, aż wybierzesz wszystkie pola, które chcesz uwzględnić w indeksie.

  6. Aby zmienić kolejność sortowania wartości pola, w kolumnie Porządek sortowania w oknie Indeksy kliknij pozycję Rosnąco lub Malejąco. Domyślny porządek sortowania jest rosnący.

  7. W oknie Indeksy w obszarze Właściwości indeksu ustaw właściwości indeksu dla wiersza w kolumnie Nazwa indeksu zawierającej nazwę indeksu. Ustaw właściwości zgodnie z informacjami podanymi w poniższej tabeli.

    Etykieta

    Wartość

    Podstawowe

    Wartość Tak oznacza, że indeks jest kluczem podstawowym.

    Unikatowe

    Wartość Tak oznacza, że każda wartość w indeksie musi być unikatowa.

    Ignoruj zerowe

    Wartość Tak oznacza, że rekordy o wartości zerowej w polach indeksowanych będą wyłączane z indeksu.

  8. Aby zapisać zmiany, kliknij przycisk Zapisz na pasku narzędzi Szybki dostęp lub naciśnij klawisze CTRL+S.

  9. Zamknij okno Indeksy.

Usuwanie indeksu

Jeśli indeks stał się niepotrzebny lub źle wpływa na wydajność, można go usunąć. Spowoduje to usunięcie tylko indeksu, a nie pola czy pól, na podstawie których został utworzony.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy nazwę tabeli, z której chcesz usunąć indeks, a następnie w menu skrótów kliknij polecenie Widok projektu.

  2. Na karcie Projekt w grupie Pokazywanie/ukrywanie kliknij przycisk Indeksy.

    Zostanie wyświetlone okno Indeksy. Zmień rozmiar okna tak, aby były widoczne niektóre puste wiersze oraz właściwości indeksu.

  3. W oknie Indeksy zaznacz wiersze zawierające indeks, który chcesz usunąć, a następnie naciśnij klawisz DELETE.

  4. Aby zapisać zmiany, kliknij przycisk Zapisz na pasku narzędzi Szybki dostęp lub naciśnij klawisze CTRL+S.

  5. Zamknij okno Indeksy.

Wyświetlanie i edytowanie indeksów

Wyświetlenie indeksów tabeli może być przydatne do oceny ich wpływu na wydajność lub do upewnienia się, że poszczególne pola są indeksowane.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy nazwę tabeli, w której chcesz edytować indeks, a następnie w menu skrótów kliknij polecenie Widok projektu.

  2. Na karcie Projekt w grupie Pokazywanie/ukrywanie kliknij przycisk Indeksy.

    Zostanie wyświetlone okno Indeksy. Zmień rozmiar okna tak, aby były widoczne niektóre puste wiersze oraz właściwości indeksu.

  3. Przejrzyj lub edytuj indeksy i ich właściwości odpowiednio do potrzeb.

  4. Aby zapisać zmiany, kliknij przycisk Zapisz na pasku narzędzi Szybki dostęp lub naciśnij klawisze CTRL+S.

  5. Zamknij okno Indeksy.

Automatyczne tworzenie indeksu

W niektórych przypadkach program Access automatycznie tworzy indeksy. Indeks jest tworzony automatycznie na przykład dla każdego pola lub pól, które wyznaczono na klucz podstawowy tabeli.

Innym źródłem automatycznego tworzenia indeksów są właściwości opcji Autoindeksowanie przy imporcie/tworzeniu w oknie dialogowym Opcje programu Access. W programie Access są automatycznie indeksowane wszystkie pola o nazwach zaczynających się lub kończących znakami wprowadzonymi w polu Autoindeksowanie przy imporcie/tworzeniu, na przykład ID, klucz, kod lub num. Aby wyświetlić lub zmienić bieżące ustawienie, wykonaj następujące czynności:

  1. Kliknij pozycję Plik > Opcje. Uwaga: jeśli korzystasz z programu Access 2007, kliknij przycisk pakietu Microsoft Office, a następnie kliknij polecenie Opcje programu Access.

  2. Kliknij kartę Projektanci obiektu, a następnie w obszarze Projekt tabeli dodaj, edytuj lub usuń wartości w polu Autoindeksowanie przy imporcie/tworzeniu. Oddziel wartości średnikami (;).

    Uwaga : Jeśli nazwa pola tabeli zaczyna się lub kończy wartością wymienioną w tym polu, pole tabeli jest automatycznie indeksowane.

  3. Kliknij przycisk OK.

Każdy kolejny indeks wymaga wykonania dodatkowych operacji przez program Access, dlatego podczas dodawania lub aktualizowania danych wydajność się zmniejsza. W związku z tym można rozważyć zmianę wartości wyświetlanych w polu Autoindeksowanie przy imporcie/tworzeniu lub zmniejszenie liczby wartości w celu zminimalizowania liczby tworzonych indeksów.

Początek strony

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×