sql >> Database >  >> RDS >> Oracle

Wereldwijde niet-gepartitioneerde index in Oracle

Er bestaat niet zoiets als een "lokale niet-gepartitioneerde index". Het lijkt waarschijnlijk dat dit een documentatiefout is. Ik denk dat ze bedoelden te zeggen

Dus ja, de syntaxis die in het boek van Tom Kyte wordt geciteerd, is legaal.

Standaard zijn GLOBAL-indexen niet gepartitioneerd. Dat wil zeggen, er is één index voor alle partities van de tabel. De belangrijkste reden waarom we dit zouden willen doen, is om een ​​unieke beperking voor de hele tabel af te dwingen. In de praktijk is het zelden nodig om dit te doen:partitionering is meestal beperkt tot datawarehouses, waar de handhaving van de beperkingen over het algemeen lakser is, omdat DML meer vergrendeld is.

De documentatie waarnaar u hebt gelinkt, laat zien hoe u GLOBAL gepartitioneerde indexen kunt maken. Dit is een hybride constructie waarmee we indexen kunnen bouwen met een ander partitieschema dan dat gebruikt wordt om de gegevens te partitioneren. Om eerlijk te zijn ben ik dit nog nooit tegengekomen op een site waar ik met Partitioning heb gewerkt. @matthewmcpeak stelde echter een scenario voor waarin het nuttig zou kunnen zijn. Dus ik neem zijn commentaar op in dit antwoord, ten behoeve van toekomstige Zoekers.



  1. knex:wat is de juiste manier om een ​​array van resultaten te maken?

  2. Java PreparedStatement klaagt over SQL-syntaxis bij execute()

  3. Hoe kan ik gegevens importeren in de mysql-database via mysql workbench?

  4. Hoe hernoem je een primaire sleutel in Oracle zodat deze opnieuw kan worden gebruikt?