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

Sådan finder du ud af størrelsen på indekser i mysql (inklusive primære nøgler)

Din primære nøgle er dit bord. I en InnoDB indeholder primærnøglen de faktiske data, så hvis den primære nøgle indeholder dataene, er det tabellen.

Tænk over det et øjeblik. Du får to forskellige typer indekser på en InnoDB-tabel-klyngede og sekundære indekser. Forskellen er, at et klynget indeks indeholder dataene, og et sekundært indeks indeholder de indekserede kolonner og en pointer til dataene. Et sekundært indeks indeholder således ikke dataene, men snarere placeringen af, hvor dataene er placeret i CLUSTERED-indekset.

Normalt er en primær nøgle et klynget indeks. Det ville være meget ineffektivt at gemme både tabellen med alle dens værdier og derefter et klynget indeks med alle dets værdier. Dette ville reelt fordoble bordets størrelse.

Så når du har en primær nøgle, der er på en InnoDB, er tabelstørrelsen størrelsen på den primære nøgle. I nogle databasesystemer kan du have et sekundært indeks som en primær nøgle og et separat indeks som en klynget nøgle, men InnoDB tillader ikke dette.

Læs følgende links for flere detaljer:

http://dev.mysql.com /doc/refman/5.0/da/innodb-table-and-index.html

http://dev.mysql.com/doc /refman/5.0/da/innodb-index-types.html

I disse links forklarer de mere detaljeret alt, hvad jeg har sagt ovenfor. Kort sagt, du har allerede størrelsen på det primære nøgleindeks, da det er størrelsen på din tabel.

Håber det hjælper.




  1. Oversigt over datakomprimering i SQL Server

  2. SQLite - Slip en database

  3. Opdater flere kolonner i MERGE-sætning ORACLE

  4. Brug af PostgreSQL logisk replikering til at vedligeholde en altid opdateret læse-/skrive-TEST-server