sql >> Database >  >> RDS >> Oracle

Is een globaal gepartitioneerde index beter (sneller) dan een niet-gepartitioneerde index?

Ik ben er vrij zeker van dat je deze referentie in je onderzoek hebt gevonden - Gepartitioneerde tabellen en indexen . Ik geef er echter een link naar als iemand geïnteresseerd is, dit is een zeer goed materiaal over partitionering.

Rechtstreeks ter zake - Gepartitioneerde index ontleedt de index in stukjes (16 in uw situatie) en verspreidt de gegevens afhankelijk van hun gehashte partitiesleutel. Wanneer u het wilt gebruiken, "berekent" Oracle de hash van de sleutel en bepaalt in welke sectie u verder moet gaan met zoeken.

Wetende hoe index zoeken werkt, denk ik dat het bij echt enorme gegevens beter is om de gepartitioneerde index te kiezen om de indexboom die je doorloopt te verkleinen (gewone index). Het hangt echt af van de gegevens in de tabel (hoe de reguliere indexboom is samengesteld) en hashing en directe sprong naar een lager knooppunt sneller dan de normale boomtraverse vanaf het startknooppunt.

Ten slotte moet u meer vertrouwen hebben in de testresultaten. Als de ene techniek betere resultaten geeft op uw exacte gegevens dan de andere, hoeft u zich geen zorgen te maken om deze te implementeren.




  1. java.sql.sqlception kolom niet gevonden

  2. mysql selecteer inhoud rond trefwoord

  3. Yii2 Hoe kan ik waar EN- of OF-voorwaardegroepering uitvoeren?

  4. Hoe te voorkomen dat de eerste rij in de tabel wordt verwijderd (PostgreSQL)?