sql >> Databasteknik >  >> RDS >> Oracle

hur ser ett B-trädindex på mer än 1 kolumn ut?

Med de flesta implementeringar är nyckeln helt enkelt en längre nyckel som innehåller alla nyckelvärden, med en separator. Ingen magi där;-)

I ditt exempel kan nyckelvärdena se ut ungefär som

"123499|John Doe|Conway, NH"
"32144|Bill Gates| Seattle, WA"

En av egenskaperna hos dessa index med sammansatta nycklar är att de mellanliggande trädnoderna i vissa fall kan användas för att "täcka" frågan.

Till exempel, om frågan är att hitta namn och stad med ID, eftersom ID är först i indexet, kan indexet söka efter detta effektivt. Väl i den mellanliggande noden kan den "tolka" namnet och staden från nyckeln och behöver inte gå till bladnoden för att läsa detsamma.

Om dock frågan också ville visa telefonnumret, skulle logiken följa med längs bladet när hela posten hittas.



  1. Lösningar för hur man läser SQL Server-transaktionsloggfil utan att misslyckas

  2. Hur kan du se om ett värde inte är numeriskt i Oracle?

  3. visa sql anpassad text från tabellkolumnresultat

  4. Jämför DATETIME och DATE ignorerande tidsdel