sql >> Databasteknik >  >> RDS >> Mysql

hur B-tree indexering fungerar i mysql

Databasen lagrar värdet indexerat som ett B-Tree tangenten och postpekaren som ett B-Tree värde.

När du söker efter en post som innehåller ett visst värde i en indexerad kolumn, hittar motorn nyckeln som innehåller detta värde i B-Tree , hämtar pekaren till posten och hämtar posten.

Vad exakt är en "rekordspekare", beror på lagringsmotorn.

  • I MyISAM , är postpekaren en offset till posten i MYI fil.

  • I InnoDB , är postpekaren värdet på PRIMARY KEY .

I InnoDB , själva tabellen är ett B-Tree med en PRIMARY KEY som ett B-Tree nyckel. Detta är vad som kallas ett "klustrade index" eller "indexorganiserad tabell". I detta fall lagras alla andra fält som ett B-Tree värde.

I MyISAM , journalerna lagras utan någon särskild beställning. Detta kallas "heap storage".



  1. Upptäcker låsta bord (låsta av LOCK TABLE)

  2. MySQL AS nyckelord

  3. visa data från SQL-databasen till php/html-tabellen

  4. Finns det en postgres NÄRMASTE operatör?