sql >> Databasteknik >  >> RDS >> Oracle

Globalt icke-partitionerat index i Oracle

Det finns inget sådant som ett "lokalt icke-partitionerat index". Det verkar troligt att det är en dokumentationsbugg. Jag tror att det de menade att säga var

Så ja, syntaxen som citeras i Tom Kytes bok är laglig.

Som standard är GLOBAL index icke-partitionerade. Det vill säga, det finns ett index för alla partitioner i tabellen. Den främsta anledningen till att vi kanske vill göra detta är att upprätthålla en unik begränsning över hela tabellen. I praktiken är det sällsynt att behöva göra detta:Partitionering är vanligtvis begränsad till datalager, där tillämpningen av begränsningar i allmänhet är slappare, eftersom DML är mer låst.

Dokumentationen som du länkade till visar hur man skapar GLOBAL partitionerade index. Detta är en hybridkonstruktion som tillåter oss att bygga index med ett annat partitioneringsschema än det som används för att partitionera data. För att vara ärlig har jag aldrig stött på detta på någon sida där jag har arbetat med partitionering. Men @matthewmcpeak föreslog ett scenario där det kunde vara användbart. Så jag inkluderar hans kommentar i det här svaret, till förmån för framtida sökare.



  1. Java PreparedStatement hämtar senast infogade ID

  2. Vilolägesfel i namngivna frågor

  3. Idealisk fälttyp för binära data med fast bredd

  4. Oracle JDBC och Oracle CHAR datatyp