Skillnad mellan Clustered och icke-klustrade index

Nyckelskillnad mellan Clustered och Non-clustered Index

  • Ett klusterindex รคr en typ av index som sorterar dataraderna i tabellen pรฅ deras nyckelvรคrden, medan det icke-klustrade indexet lagrar data pรฅ en plats och index pรฅ en annan plats.
  • Clustered index lagrar datasidor i indexets bladnoder, medan metoden Non-clustered index aldrig lagrar datasidor i indexets bladnoder.
  • Klusterindexet krรคver inte ytterligare diskutrymme, medan det icke-klustrade indexet krรคver ytterligare diskutrymme.
  • Cluster index ger snabbare dataรฅtkomst, รฅ andra sidan รคr det icke-klustrade indexet lรฅngsammare.
Skillnad mellan Clustered och Non-clustered Index
Clustered vs icke-klustrade index

Vad รคr ett index?

Ett index รคr en nyckel byggd frรฅn en eller flera kolumner i databasen som snabbar upp hรคmtningen av rader frรฅn tabellen eller vyn. Denna nyckel hjรคlper en databas som Oracle, SQL Server, MySQL, etc. fรถr att snabbt hitta raden associerad med nyckelvรคrden.

Tvรฅ typer av index รคr:

  • Clustered Index
  • Icke-Clustered Index

Vad รคr en Clustered index?

Cluster index รคr en typ av index som sorterar dataraderna i tabellen pรฅ deras nyckelvรคrden. I databasen finns det bara ett klustrat index per tabell.

Ett klustrat index definierar i vilken ordning data lagras i tabellen som bara kan sorteras pรฅ ett sรคtt. Sรฅ det kan bara finnas ett enda klustrat index fรถr varje tabell. I en RDBMS tillรฅter primรคrnyckeln dig vanligtvis att skapa ett klustrat index baserat pรฅ den specifika kolumnen.

Vad รคr icke-klustrade index?

Ett icke-klustrat index lagrar data pรฅ en plats och index pรฅ en annan plats. Indexet innehรฅller pekare till platsen fรถr dessa data. En enskild tabell kan ha mรฅnga icke-klustrade index eftersom ett index i det icke-klustrade indexet lagras pรฅ olika platser.

Till exempel kan en bok ha mer รคn ett index, ett i bรถrjan som visar innehรฅllet i en bok enhetsmรคssigt medan det andra indexet visar termindexet i alfabetisk ordning.
Ett icke-klustringsindex definieras i tabellens icke-ordningsfรคlt. Den hรคr typen av indexeringsmetod hjรคlper dig att fรถrbรคttra prestandan fรถr frรฅgor som anvรคnder nycklar som inte รคr tilldelade som en primรคrnyckel. Ett icke-klustrat index lรฅter dig lรคgga till en unik nyckel fรถr en tabell.

Kรคnnetecknande fรถr Clustered Index

  • Standard och sorterad datalagring
  • Anvรคnd bara en eller flera kolumner fรถr ett index
  • Hjรคlper dig att lagra data och index tillsammans
  • Fragmentering
  • Clustered index scan och index search
  • Nyckelsรถkning

Egenskaper fรถr icke-klustrade index

  • Lagra endast nyckelvรคrden
  • Pekare till hรถgen/Clustered Index rader
  • Tillรฅter sekundรคr dataรฅtkomst
  • Bro till data
  • Operaindexavsรถkning och indexsรถkning
  • Du kan skapa ett icke-klustrat index fรถr en tabell eller vy
  • Varje indexrad i det icke-klustrade indexet lagrar det icke-klustrade nyckelvรคrdet och en radlokalisering

Clustered vs icke-klustrade index i SQL: nyckelskillnader

Driftparametrar Clustered Icke-klustrade
Anvรคnda fรถr Du kan sortera posterna och lagra klustrade index fysiskt i minnet enligt bestรคllningen. Ett icke-klustrat index hjรคlper dig att skapa en logisk ordning fรถr datarader och anvรคnder pekare fรถr fysiska datafiler.
Lagringsmetod Lรฅter dig lagra datasidor i indexets bladnoder. Denna indexeringsmetod lagrar aldrig datasidor i indexets bladnoder.
Storlek Storleken pรฅ det klustrade indexet รคr ganska stort. Storleken pรฅ det icke-klustrade indexet รคr litet jรคmfรถrt med det klustrade indexet.
Dataรฅtkomst Snabbare Lรฅngsammare jรคmfรถrt med det klustrade indexet
Ytterligare diskutrymme Inte nรถdvรคndig Krรคvs fรถr att lagra indexet separat
Typ av nyckel Som standard รคr bordets primรคra tangenter en Clustered Index. Den kan anvรคndas med unika begrรคnsningar pรฅ bordet som fungerar som en sammansatt nyckel.
Huvud funktion Ett klustrat index kan fรถrbรคttra prestandan fรถr datahรคmtning. Den ska skapas pรฅ kolumner som anvรคnds i kopplingar.

Ett exempel pรฅ ett klustrat index

I exemplet nedan รคr SalesOrderDetailID det klustrade indexet. Exempelfrรฅga fรถr att hรคmta data

SELECT CarrierTrackingNumber, UnitPrice
FROM SalesData
WHERE SalesOrderDetailID = 6

Exempel pรฅ ett klustrat index

Ett exempel pรฅ ett icke-klustrat index

I exemplet nedan skapas ett icke-klusterat index pรฅ OrderQty och ProductID enligt fรถljande

CREATE INDEX myIndex ON
SalesData (ProductID, OrderQty)

Exempel pรฅ ett icke-klustrat index

Fรถljande frรฅga kommer att hรคmtas snabbare jรคmfรถrt med det klustrade indexet.

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

Exempel pรฅ ett icke-klustrat index

Fรถrdelar med Clustered Index

Fรถrdelarna/fรถrdelarna med det klustrade indexet รคr:

  • Clustered-index รคr ett idealiskt alternativ fรถr intervall eller gruppera efter med max, min, count typ frรฅgor
  • I den hรคr typen av index kan en sรถkning gรฅ direkt till en specifik punkt i data sรฅ att du kan fortsรคtta lรคsa sekventiellt dรคrifrรฅn.
  • Clustered index-metoden anvรคnder platsmekanism fรถr att hitta indexpost i bรถrjan av ett intervall.
  • Det รคr en effektiv metod fรถr intervallsรถkningar nรคr ett intervall av sรถknyckelvรคrden efterfrรฅgas.
  • Hjรคlper dig att minimera sidรถverfรถringar och maximera cachetrรคffarna.

Fรถrdelar med icke-klustrade index

Fรถrdelar med att anvรคnda icke-klustrade index รคr:

  • Ett icke-klustringsindex hjรคlper dig att snabbt hรคmta data frรฅn databastabellen.
  • Hjรคlper dig att undvika omkostnader fรถrknippade med det klustrade indexet
  • En tabell kan ha flera icke-klustrade index i RDBMS. Sรฅ den kan anvรคndas fรถr att skapa mer รคn ett index.

Nackdelar med Clustered Index

Hรคr รคr nackdelar/nackdelar med att anvรคnda klustrade index:

  • Massor av inlรคgg i icke-sekventiell ordning
  • Ett klustrat index skapar massor av konstanta siddelningar, som inkluderar datasida sรฅvรคl som indexsidor.
  • Extra arbete fรถr SQL fรถr infogningar, uppdateringar och borttagningar.
  • Ett klustrat index tar lรคngre tid att uppdatera poster nรคr fรคlten i det klustrade indexet รคndras.
  • Bladnoderna innehรฅller mestadels datasidor i det klustrade indexet.

Nackdelar med icke-klustrade index

Hรคr รคr nackdelar/nackdelar med att anvรคnda icke-klustrade index:

  • Ett icke-klustrat index hjรคlper dig att lagra data i en logisk ordning men tillรฅter inte att sortera datarader fysiskt.
  • Uppslagsprocessen pรฅ icke-klustrade index blir kostsam.
  • Varje gรฅng klustringsnyckeln uppdateras krรคvs en motsvarande uppdatering av det icke-klustrade indexet eftersom det lagrar klustringsnyckeln.

Sammanfatta detta inlรคgg med: