sql >> Database teknologi >  >> RDS >> Mysql

hvordan B-tree indeksering fungerer i mysql

Databasen gemmer værdien indekseret som et B-Tree tasten og registreringsmarkøren som et B-træ værdi.

Når du søger efter en post med en bestemt værdi af en indekseret kolonne, finder motoren nøglen med denne værdi i B-Tree , henter markøren til posten og henter posten.

Hvad der præcist er en "record pointer", afhænger af lagermotoren.

  • I MyISAM , er postmarkøren en offset til posten i MYI fil.

  • I InnoDB , er postmarkøren værdien af ​​PRIMARY KEY .

I InnoDB , selve tabellen er et B-Tree med en PRIMÆR NØGLE som et B-Tree nøgle. Dette er, hvad der kaldes et "klynget indeks" eller "indeksorganiseret tabel". I dette tilfælde gemmes alle andre felter som et B-Tree værdi.

I MyISAM , optegnelserne opbevares uden nogen særlig bestilling. Dette kaldes "heap storage".



  1. Mest effektive T-SQL måde at polstre en varchar til venstre til en vis længde?

  2. Få forespørgsel tilbage fra PDO udarbejdet erklæring

  3. Hvordan genererer jeg en unik, tilfældig streng til en af ​​mine MySql-tabelkolonner?

  4. SQL - Find hele ord i tekst