Hvordan indekserer jeg en kolonne i PostgreSQL?

Hvordan indekserer jeg en kolonne i PostgreSQL?
En PostgreSQL -database spesielt eller en hvilken som helst annen database, generelt, kan inneholde flere tabeller i den. Disse tabellene består av forskjellige kolonner eller attributter som forskjellige rader eller poster er lagret. På denne måten lagres data i en database. Ved å indeksering. I denne artikkelen vil vi først diskutere behovet for å indeksere en kolonne i PostgreSQL i Windows 10 etterfulgt av metoden for å gjøre det.

Behov for å indeksere en kolonne i PostgreSQL i Windows 10:

Vi har allerede nevnt at indeksering av en kolonne gjør prosessen med å søke i den kolonnen desto raskere og effektiv. Bortsett fra det vil vi imidlertid vurdere et veldig enkelt eksempel her som vil rettferdiggjøre behovet for å indeksere en kolonne i en tabell i PostgreSQL.

Anta at vi har et bord med tittelen “Ansatt”. Denne tabellen har to forskjellige kolonner, nemlig "navn" og "nummer" som tilsvarer ansattes navn og ansattes nummer. Denne tabellen har også 1000 poster av forskjellige ansatte. Nå ønsker vi å utføre et spørsmål som vil returnere en post med en bestemt ansattes nummer.

I dette tilfellet må spørringen vår se etter hele "nummer" -kolonnen i "ansatt" -tabellen til den finner det angitte nummeret i den utførte spørringen. Først da vil den kunne vise ønsket post. Denne prosessen er ganske lang og tidkrevende.

Derfor kan vi prøve å indeksere "nummer" -kolonnen slik at i stedet for å søke etter hele kolonnen, kan det spesifiserte nummeret i spørringen søkes veldig effektivt. Imidlertid er denne typen kolonneindeksering ikke egnet for veldig små bord i.e., tabeller med noen få poster fordi det bare vil øke ressursforbruket.

Metode for å indeksere en kolonne i PostgreSQL i Windows 10:

Hvis du ønsker å indeksere en ønsket kolonne i en tabell i PostgreSQL-databasen i Windows 10, må du utføre den trinnvis prosedyren omtalt nedenfor:

Trinn 1: Lansering av Windows 10 -ledeteksten:

Vi får tilgang til PostgreSQL -miljøet gjennom Windows 10 -ledeteksten som vi må starte det først. Du kan se følgende bilde for å vite hvordan du starter ledeteksten Windows 10.

Trinn 2: Å legge inn PostgreSQL -miljøet gjennom Windows 10 Command Prompt:

Etter å ha åpnet ledeteksten, kan du angi PostgreSQL -miljøet ved å kjøre kommandoen vist nedenfor:

> psql -u postgres

Etter å ha utført denne kommandoen, vil du bli bedt om å oppgi passordet for den spesifiserte brukeren som vist i følgende bilde:

Når du har oppgitt dette passordet, vil du angi PostgreSQL -miljøet gjennom ledeteksten Windows 10.

Trinn 3: Lag en ny tabell i PostgreSQL i Windows 10:

Nå lager vi en ny tabell slik at vi kan indeksere en av kolonnene i Windows 10. En tabell i PostgreSQL kan opprettes med spørringen vist nedenfor:

# Opprett tabellansatt (emp_id seriell primærnøkkel, emp_name varchar (255) ikke null, emp_number varchar (255) ikke null);

Denne spørringen vil opprette en tabell som heter "ansatt" i den nåværende PostgreSQL -databasen med tre kolonner, nemlig henholdsvis "emp_id, emp_name og emp_number".

Vellykket utførelse av denne spørringen vil bli bekreftet når vi vil få svaret "Opprett tabell" på konsollen vår som vist i følgende bilde:

Trinn 4: Kontroller om den nyopprettede tabellen eksisterer i din nåværende database eller ikke:

Når den nye tabellen vår er opprettet, kan vi bekrefte at dens eksistens ved å kjøre kommandoen vist nedenfor:

# \ dt

Denne kommandoen vil forsøke å vise alle tabellene som finnes i den nåværende databasen. I listen over disse tabellene vil du også kunne se vår nyopprettede "ansatt" -tabell som vist i følgende bilde:

Trinn 5: Sett inn noen poster i det nyopprettede tabellen:

Nå vil vi sette inn noen eksempler på poster i denne nyopprettede tabellen. En post i denne tabellen kan legges til ved hjelp av spørringen vist nedenfor:

# Sett inn ansattes verdier (1, 'Aqsa', '12345');

Når denne posten blir lagt til med suksess til "ansatt" -tabellen, vil du se følgende suksessmelding på konsollen din:

På samme måte vil vi legge til flere poster til "ansattes" -tabellen som vist på bildet nedenfor:

Trinn 6: Se på det nylig befolkede tabellen:

Etter å ha befolket vårt "ansatt" -bord, kan vi se det ved å utføre følgende vedlagte spørsmål:

# velg * fra ansatt;

Denne spørringen vil vise alle postene til "ansatt" -tabellen på konsollen som vist på bildet nedenfor:

Trinn 7: Utfør en testspørsmål på den nyopprettede tabellen:

Nå kjører vi en testforespørsel på det nyopprettede tabellen for å vise en post med et visst tall. Denne spørringen er som følger:

# velg * fra ansatt der emp_number = '24943';

Denne spørringen vil øyeblikkelig vise den valgte posten som vist på bildet nedenfor:

Trinn 8: Se spørringsplanen for spørringen du nettopp har utført:

Selv om den ovennevnte spørringen er utført med hell, for å bringe ønsket resultat til konsollen, ville hele "emp_number" -kolonnen i "ansatt" -tabellen blitt søkt sekvensielt. Du kan sjekke dette ved å kjøre følgende spørsmål for å vise spørringsplanen:

# Forklar velg * fra ansatt der emp_number = '24943';

Du kan se fra bildet vist nedenfor at den spesifiserte spørringen ble utført ved sekvensielt å søke etter "emp_number" -kolonnen i "ansatt" -tabellen. De sekvensielle søkene er ikke bra for tabeller med et stort antall poster. For å løse dette problemet, vil vi forsøke å indeksere kolonnen "emp_number" ved å utføre neste trinn.

Trinn 9: Opprette en indeks for en kolonne i den opprettede tabellen:

For å opprette en indeks for en kolonne i en tabell i PostgreSQL i Windows 10, kan du kjøre følgende spørsmål:

# Opprett indeksindeks_emp_nummer på ansatt (emp_number);

Denne spørringen vil opprette en indeks som heter “index_emp_number” for kolonnen “emp_number” av tabellen “ansatt”. Vellykket utførelse av denne spørringen vil resultere i suksessmeldingen som vises nedenfor:

Trinn 10: Oppføring av alle indeksene i ønsket tabell:

Nå, for å bekrefte om nevnte indeks er opprettet eller ikke, kan du kjøre følgende kommando:

# \ d ansatt

Utgangen som vises i bildet som vises nedenfor, har fremhevet den nyopprettede indeksen.

Fjerne en indeks fra en kolonne i PostgreSQL i Windows 10:

Hvis du vil fjerne en indeks fra en kolonne i en tabell i PostgreSQL i Windows 10, kan du kjøre følgende spørsmål:

# Drop index index_emp_number;

Når den spesifiserte indeksen blir fjernet med hell, får du slippindeksresponsen på konsollen som vist på bildet nedenfor:

Konklusjon:

Ved å lese gjennom alle trinnene i metoden som er forklart i denne artikkelen, vil du kunne forstå veldig raskt hvordan kolonneindeksering fungerer i PostgreSQL i Windows 10. Etter å ha lært det, vil du kunne indeksere så mange kolonner i tabellene dine i PostgreSQL som du vil.