sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur avgör man vilken typ av index som ska användas i Postgres?

Postgres stödjer B-tree, R-tree, Hash, GiST och GIN indexeringstyper. B-trädsindexering är det vanligaste och passar de vanligaste scenarierna. Det här är syntaxen:

CREATE INDEX idex_name ON table_name USING btree(column1, column2);

Här är createindex dokumentation och här finns mer information om olika indextyper i postgres.

Vilken typ av index du ska använda beror på vilka typer av operationer du vill utföra. Om du bara vill ha jämställdhetskontroll så är hashindex det bästa. För de flesta vanliga operationer (t.ex. jämförelse, mönstermatchning) bör B-träd användas. Jag har personligen aldrig använt GiST eller GIN-indexering. NÅGON guru där ute?

Dokumentationen beskriver alla dessa typer. De kan hjälpa dig bättre än mig :)

Hoppas detta hjälper.



  1. Buffers dbms_output.put() annorlunda än dbms_output.put_line()?

  2. Hur lägger man till en vagnretur till ett värde i MySQL?

  3. Laravel - Querybuilder med join och concat

  4. använd mysql SUM() i en WHERE-sats