sql >> Database teknologi >  >> RDS >> Oracle

Er et globalt opdelt indeks bedre (hurtigere) end et ikke-opdelt indeks?

Jeg er ret sikker på, at du har fundet denne reference i din forskning - Opdelte tabeller og indekser . Men jeg giver et link til det, hvis nogen er interesseret, dette er et meget godt materiale om partitionering.

Lige til sagen - Partitioneret indeks dekomponerer bare indekset i stykker (16 i din situation) og spreder dataene afhængigt af deres hashed partitioneringsnøgle. Når du vil bruge det, "beregner" Oracle nøglens hash og bestemmer, i hvilken sektion du skal fortsætte med at søge.

Når jeg ved, hvordan indekssøgning fungerer, tror jeg på virkelig store data, at det er bedre at vælge det partitionerede indeks for at reducere det indekstræ, du krydser (regelmæssigt indeks). Det afhænger virkelig af dataene, som er i tabellen (hvordan et regulært indekstræ er sammensat) og hashing og direkte spring til lavere knude hurtigere end almindelig trægennemgang fra startnoden.

Endelig skal du være mere sikker på testresultaterne. Hvis en teknik giver bedre resultater på dine nøjagtige data end en anden, skal du ikke bekymre dig om at implementere den.




  1. Tilføj 1 til et felt

  2. Opdater ListView baseret på SQLite-understøttet ContentProvider

  3. Android med rum - Sådan indstilles en fremmednøgle til null

  4. SQL Indsæt række og kopier indsat Auto-Increment id til en anden kolonne