PostgreSQL

Hur man skapar index i PostgreSQL

Hur man skapar index i PostgreSQL

Index är specialiserade söktabeller som används av databankjaktmotorer för att påskynda sökresultaten. Ett index är en referens till informationen i en tabell. Om namnen i en kontaktbok till exempel inte är alfabetiserade, måste du gå ner varje rad och söka igenom alla namn innan du når det specifika telefonnummer du söker efter. Ett index påskyndar SELECT-kommandona och WHERE-fraserna och utför datainmatning i UPDATE- och INSERT-kommandona. Oavsett om index är infogade eller raderade har det ingen inverkan på informationen i tabellen. Index kan vara speciella på samma sätt som UNIQUE-begränsningen hjälper till att undvika replikposter i fältet eller fältuppsättningen för vilket indexet finns.

Allmän syntax

Följande allmänna syntax används för att skapa index.

>> CREATE INDEX index_name ON table_name (column_name);

För att börja arbeta med index, öppna pgAdmin för Postgresql från applikationsfältet. Du hittar alternativet 'Servrar' nedan. Högerklicka på det här alternativet och anslut det till databasen.

Som du kan se listas databasen 'Test' i alternativet 'Databaser'. Om du inte har en, högerklicka på "Databaser", navigera till alternativet "Skapa" och namnge databasen enligt dina preferenser.

Expandera alternativet 'Scheman' så hittar du alternativet 'Tabeller' som listas där. Om du inte har en, högerklicka på den, navigera till "Skapa" och klicka på "Tabell" för att skapa en ny tabell. Eftersom vi redan har skapat tabellen 'emp' kan du se den i listan.

Försök med SELECT-frågan i Query Editor för att hämta posterna för 'emp' -tabellen, som visas nedan.

>> VÄLJ * FRÅN allmänheten.emp BESTÄLLNING AV "id" ASC;

Följande data kommer att finnas i 'emp' -tabellen.

Skapa index med en kolumn

Utöka "emp" -tabellen för att hitta olika kategorier, t.ex.g., Kolumner, begränsningar, index osv. Högerklicka på 'Index', navigera till alternativet 'Skapa' och klicka på 'Index' för att skapa ett nytt index.

Konstruera ett index för den givna 'emp' -tabellen, eller den eventuerade displayen, med hjälp av dialogfönstret Index. Här finns det två flikar: 'Allmänt' & 'Definition.'På fliken' Allmänt 'infogar du en specifik titel för det nya indexet i fältet' Namn '. Välj "tabellutrymme" under vilket det nya indexet kommer att lagras med hjälp av rullgardinsmenyn bredvid "Tablespace.'Som i området' Kommentar 'gör du indexkommentarer här. För att påbörja denna process, navigera till fliken "Definition".

Här anger du 'Access Method' genom att välja indextyp. Efter det, för att skapa ditt index som 'Unikt', finns det flera andra alternativ där. I området "Kolumner" trycker du på "+" -tecknet och lägger till kolumnnamnen som ska användas för indexering. Som du kan se har vi bara använt indexering i kolumnen 'Telefon'. För att börja, välj SQL-avsnittet.

Fliken SQL visar SQL-kommandot som har skapats av dina ingångar under hela indexdialogen. Klicka på knappen "Spara" för att skapa indexet.

Återigen, gå till alternativet "Tabeller" och navigera till "emp" -tabellen. Uppdatera "Index" -alternativet och du hittar det nyskapade index_on_phone-indexet i det.

Nu kör vi kommandot EXPLAIN SELECT för att kontrollera resultaten för indexen med WHERE-satsen. Detta kommer att resultera i följande utdata, som säger 'Seq Scan on emp.'Du kanske undrar varför detta hände när du använder index.

Orsak: Postgres-planeraren kan av olika skäl välja att inte ha ett index. Strategen fattar de bästa besluten för det mesta, även om skälen inte alltid är tydliga. Det är bra om en indexsökning används i vissa frågor, men inte alls. De poster som returneras från endera tabellen kan variera beroende på de fasta värden som returneras av frågan. Eftersom detta inträffar är en sekvensskanning nästan alltid snabbare än en indexskanning, vilket indikerar att frågeställaren kanske hade rätt när han bestämde att kostnaden för att köra frågan på detta sätt minskar.

Skapa flera kolumnindex

För att skapa index med flera kolumner, öppna kommandoradsskalet och överväga följande tabell 'student' för att börja arbeta med index med flera kolumner.

>> VÄLJ * FRÅN Student;

Skriv följande CREATE INDEX-fråga i den. Denna fråga skapar ett index med namnet 'new_index' i kolumnerna 'sname' och 'age' i tabellen 'student'.

>> SKAPA INDEX new_index ON Student (sname, age);

Nu listar vi egenskaperna och attributen för det nyskapade indexet 'new_index' med kommandot '\ d'. Som du kan se på bilden är detta ett index av btree-typ som applicerades på kolumnerna "sname" och "age".

>> \ d new_index;

Skapa UNIKT index

För att konstruera ett unikt index, antag följande "emp" -tabell.

>> VÄLJ * FRÅN emp;

Kör CREATE UNIQUE INDEX-frågan i skalet, följt av indexnamnet 'empind' i kolumnen 'name' i tabellen 'emp'. I utgången kan du se att det unika indexet inte kan tillämpas på en kolumn med dubbla "namn" -värden.

>> SKAPA unikt INDEX empind ON emp (namn);

Var noga med att tillämpa det unika indexet endast på kolumner som inte innehåller några dubbletter. För tabellen 'emp' kan du anta att endast kolumnen 'id' innehåller unika värden. Så vi kommer att tillämpa ett unikt index på det.

>> SKAPA unikt INDEX empind ON emp (id);

Följande är attributen för det unika indexet.

>> \ d empid;

Släpp index

DROP-uttalandet används för att ta bort ett index från en tabell.

>> DROP INDEX empind;

Slutsats

Medan index är utformade för att förbättra effektiviteten i databaser är det i vissa fall inte möjligt att använda ett index. När du använder ett index måste följande regler beaktas:

Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...
Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...
Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...