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

hvordan ser et B-træindeks på mere end 1 kolonne ud?

Med de fleste implementeringer er nøglen simpelthen en længere nøgle, der inkluderer alle nøgleværdierne, med en separator. Ingen magi der;-)

I dit eksempel kunne nøgleværdierne ligne

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

Et af kendetegnene ved disse indekser med sammensatte nøgler er, at de mellemliggende trænoder i nogle tilfælde kan bruges til at "dække" forespørgslen.

For eksempel, hvis forespørgslen skal finde navn og by givet ID'et, da ID'et er først i indekset, kan indekset søge efter dette effektivt. Når den først er i den mellemliggende node, kan den "parse" navnet og byen fra nøglen og behøver ikke at gå til bladknuden for at læse det samme.

Hvis forespørgslen imidlertid også ville vise telefonnummeret, ville logikken følge ned ad bladet, når den fulde post er fundet.



  1. Indsæt data i 3 tabeller ad gangen ved hjælp af Postgres

  2. Sådan tjekker du databasen på en ikke-rodfæstet Android-enhed

  3. Er der en måde at vise en WHERE-klausul kun for et felt i MySQL?

  4. DBA - Sådan dræber du alle databaseprocesser på SQL Server