Jak indeksować kolumnę w PostgreSQL?

Jak indeksować kolumnę w PostgreSQL?
W szczególności baza danych PostgreSQL lub jakakolwiek inna baza danych, ogólnie, może zawierać w niej wiele tabel. Tabele te składają się z różnych kolumn lub atrybutów, z których przechowywane są różne wiersze lub rekordy. W ten sposób dane są zapisywane w bazie danych. Indeksując kolumnę w PostgreSQL, zasadniczo rozumiemy, aby utworzyć strukturę danych, za pomocą której możemy odwoływać się do wartości tej kolumny znacznie wydajniej zamiast przejść przez wszystkie wartości tej kolumny. W tym artykule najpierw omówimy potrzebę indeksowania kolumny w PostgreSQL w systemie Windows 10, a następnie metodą tego.

Potrzeba indeksowania kolumny w PostgreSQL w systemie Windows 10:

Wspominaliśmy już, że indeksowanie kolumny powoduje, że proces wyszukiwania tej kolumny jest jeszcze szybszy i wydajny. Jednak oprócz tego rozważymy bardzo prosty przykład, który uzasadni potrzebę indeksowania kolumny w tabeli w PostgreSQL.

Załóżmy, że mamy stół zatytułowany „Pracownik”. Ta tabela ma dwie różne kolumny, a mianowicie „nazwisko” i „liczba”, które odpowiadają odpowiednio nazwiskowi pracownika i numerowi pracownika. Również ta tabela zawiera 1000 zapisów różnych pracowników. Teraz chcemy wykonać zapytanie, które zwróci rekord z numerem konkretnego pracownika.

W takim przypadku nasze zapytanie będzie musiało poszukać całej kolumny „numer” tabeli „pracownika”, dopóki nie znajdzie określonego numeru w wykonanym zapytaniu. Tylko wtedy będzie mógł wyświetlić żądany rekord. Ten proces jest dość długi i czasochłonny.

Dlatego możemy wypróbować indeksowanie kolumny „Numer”, aby zamiast sekwencyjnego wyszukiwania całej kolumny określony numer w zapytaniu można było bardzo wydajnie wyszukiwać. Jednak tego rodzaju indeksowanie kolumn nie nadaje się do bardzo małych tabel i.mi., tabele z kilkoma rekordami, ponieważ zwiększy to tylko zużycie zasobów.

Metoda indeksowania kolumny w PostgreSQL w systemie Windows 10:

Jeśli chcesz indeksować jakąkolwiek pożądaną kolumnę tabeli w bazie danych PostgreSQL w systemie Windows 10, będziesz musiał wykonać procedurę krokową omówioną poniżej:

Krok 1: Uruchomienie wiersza polecenia Windows 10:

Uzyskamy dostęp do środowiska PostgreSQL za pośrednictwem wiersza polecenia Windows 10, dla którego musimy go najpierw uruchomić. Możesz zobaczyć następujący obraz, aby wiedzieć, jak uruchomić wiersz polecenia Windows 10.

Krok # 2: Wprowadzenie środowiska PostgreSQL za pośrednictwem wiersza polecenia Windows 10:

Po otwarciu wiersza polecenia możesz wprowadzić środowisko PostgreSQL, uruchamiając polecenie pokazane poniżej:

> PSQL -U Postgres

Po wykonaniu tego polecenia zostaniesz poproszony o wprowadzenie hasła dla określonego użytkownika, jak pokazano na poniższym obrazku:

Po podaniu tego hasła wprowadzisz środowisko PostgreSQL za pośrednictwem wiersza polecenia Windows 10.

Krok # 3: Utwórz nową tabelę w PostgreSQL w systemie Windows 10:

Teraz utworzymy nową tabelę, abyśmy mogli indeksować jedną z jego kolumn w systemie Windows 10. Tabela w PostgreSQL można utworzyć z zapytaniem pokazanym poniżej:

# Utwórz tabelę pracownika (EMP_ID szeregowy klucz podstawowy, emp_name varchar (255) nie null, emp_number varchar (255) nie null);

To zapytanie utworzy tabelę o nazwie „Pracownik” w bieżącej bazie danych PostgreSQL z trzema kolumnami, a mianowicie odpowiednio „emp_id, emp_name i emp_number”.

Pomyślne wykonanie tego zapytania zostanie potwierdzone, gdy otrzymamy odpowiedź „Utwórz tabelę” na naszej konsoli, jak pokazano na poniższym obrazku:

Krok # 4: Sprawdzanie, czy nowo utworzona tabela istnieje w bieżącej bazie danych, czy nie:

Po utworzeniu naszej nowej tabeli możemy zweryfikować jego istnienie, uruchamiając polecenie pokazane poniżej:

# \ dt

To polecenie będzie próbowało wyświetlić wszystkie tabele istniejące w bieżącej bazie danych. Na liście tych tabel będziesz mógł również zobaczyć naszą nowo utworzoną tabelę „pracownika”, jak pokazano na poniższym obrazku:

Krok # 5: Wstawienie niektórych rekordów do nowo utworzonej tabeli:

Teraz wstawymy niektóre przykładowe rekordy do tej nowo utworzonej tabeli. Zapis w tej tabeli można dodać za pomocą zapytania pokazanego poniżej:

# Wstaw do wartości pracowników (1, „aqsa”, „12345”);

Kiedy ten rekord zostanie pomyślnie dodany do tabeli „pracownika”, zobaczysz następującą wiadomość sukcesu na konsoli:

W ten sam sposób dodamy wiele rekordów do tabeli „pracownika”, jak pokazano na poniższym obrazku:

Krok # 6: Przeglądanie nowo zaludnionej tabeli:

Po zaludnieniu naszej tabeli „pracowników” możemy ją wyświetlić, wykonując następujące dołączone zapytanie:

# Wybierz * od pracownika;

To zapytanie wyświetli wszystkie zapisy tabeli „pracownika” na konsoli, jak pokazano na poniższym obrazku:

Krok # 7: Wykonanie zapytania testowego w nowo utworzonej tabeli:

Teraz uruchomimy zapytanie testowe na nowo utworzonej tabeli do wyświetlania rekordu z określoną liczbą. To zapytanie jest następujące:

# Wybierz * z pracownika, gdzie emp_number = „24943”;

To zapytanie natychmiast wyświetli wybrany rekord, jak pokazano na poniższym obrazku:

Krok # 8: Wyświetl plan zapytania dla zapytania, które właśnie wykonałeś:

Chociaż wyżej wymienione zapytanie zostało pomyślnie wykonane, w celu wprowadzenia pożądanego wyniku do konsoli, cała kolumna „emp_number” tabeli „pracownika” zostałaby przeszukana sekwencyjnie. Możesz to sprawdzić, uruchamiając następujące zapytanie, aby wyświetlić plan zapytania:

# Wyjaśnij Wybierz * z pracownika, gdzie emp_number = „24943”;

Na obrazie pokazanym poniżej można zobaczyć, że określone zapytanie zostało wykonane przez sekwencyjne wyszukiwanie kolumny „EMP_Number” tabeli „pracownika”. Wyszukiwania sekwencyjne nie są dobre dla tabel z dużą liczbą rekordów. Aby rozwiązać ten problem, spróbujemy zindyować kolumnę „EMP_Number”, wykonując następny krok.

Krok # 9: Tworzenie indeksu dla kolumny utworzonej tabeli:

Aby utworzyć indeks kolumny tabeli w PostgreSQL w systemie Windows 10, możesz uruchomić następujące zapytanie:

# Utwórz indeks index_emp_number na pracownikach (emp_number);

To zapytanie utworzy indeks o nazwie „index_emp_number” dla kolumny „emp_number” tabeli „pracownik”. Pomyślne wykonanie tego zapytania spowoduje przesłanie sukcesu pokazane poniżej:

Krok # 10: Wymień wszystkie indeksy żądanej tabeli:

Teraz, aby sprawdzić, czy wspomniany indeks został utworzony, czy nie, możesz uruchomić następujące polecenie:

# \ d pracownik

Wyjście wyświetlone na obrazie pokazanym poniżej wyróżniono nowo utworzony indeks.

Usuwanie indeksu z kolumny w PostgreSQL w systemie Windows 10:

Jeśli chcesz usunąć indeks z kolumny tabeli w PostgreSQL w systemie Windows 10, możesz uruchomić następujące zapytanie:

# Upuść indeks index_emp_number;

Gdy określony indeks zostanie pomyślnie usunięty, otrzymasz odpowiedź indeksu upuść na konsoli, jak pokazano na poniższym obrazku:

Wniosek:

Czytając wszystkie etapy metody wyjaśnionej w tym artykule, będziesz mógł bardzo szybko zrozumieć, jak działa indeksowanie kolumn w PostgreSQL w systemie Windows 10. Po nauczeniu się tego, będziesz mógł indeksować tyle kolumn swoich tabel w PostgreSQL, jak chcesz.