aspose.info
HU

MYI fájlformátum

Frissítve

Mi az a MYI fájl?

A MYI MySQL MyISAM Index fájlként is ismert. A MySQL által a MyISAM tábla indexeinek tárolására szolgál. A MySQL adatbázis-index határozza meg a tábla szerkezetét, és tartalmazza a vezérlő mechanizmust a táblák integritásának ellenőrzéséhez.

MYI fájlformátum

A MYI fájl két részből áll, a fejlécből és a kulcsértékekből.

MYI fejléc

A fejléc információkat tartalmaz a beállításokról, a fájlméretekről és a kulcsokról. A MySQL kulcsai olyan paranccsal jönnek létre, mint

CREATE [UNIQUE] INDEX.

A MYI-fájlokat olvasó és író fájlok a ./myisam könyvtárban találhatók. A következő fájlokat tartalmazza:

  • mi_open.c: Ez a fájl tartalmazza azokat a rutinokat, amelyek a fejléc egyes szakaszait írják.
  • mi_create.c: Ez a fájl tartalmazza a mi_open.c rutinokat hívó rutinokat.
  • myisamdef.h: Ez a fájl tartalmazza a szerkezet definícióit.

A fejléc a következő szakaszokat tartalmazza:

  • állapot: Az állapotot a mi_open.c írja, mi_state_info_write(). Ez a struktúra egyszer fordul elő a fájlban.
  • base: Az alapot a mi_open.c írja, mi_base_info_write(). A MI_BASE_INFO a myisamdef.h bázisának megfelelő struktúra. Ez a struktúra egyszer fordul elő a fájlban.
  • keydef: A keydef-et a mi_open.c, mi_keydef_write() írja. A MI_KEYDEF a myisamdef.h kulcsdef megfelelő szerkezete. Ez egy többszörös előfordulású struktúra, amely minden indexnél megjelenik.
  • recinfo: A recinfo-t a mi_open.c, mi_recinfo_write() írja. A MI_COLUMNDEF a myisamdef.h recinfo megfelelő struktúrája. Ez egy többszörös előfordulású struktúra, amely a kulcsban megjelenő minden mezőből egyszer jelenik meg.

Kulcsértékek

A MySQL oldalait blokknak nevezzük. A kulcsértékek blokkokban vannak megadva. Egy blokk csak egy indexből tartalmaz információt. Mindegyik kulcs tartalmazza az összes oszlop teljes tartalmát. A normál blokkhossz 0x0400 (1024) bájt. A mutató fix méretű (4 bájtos) számmal rendelkezik a sorszámot tartalmazó fix soros táblázatokhoz. Ha a kulcs nulla, akkor a bájt 0x00. Egy normál blokk legalább 65%-ban, és általában 80%-ban tele van.

A myisamdef.h fájl a következő információkat tartalmazza konstansokban kifejezve. A kulcsok maximális száma 32 (MI_MAX_KEY), és a szegmensek maximális száma egy kulcsban 16 (MI_MAX_KEY_SEG). A kulcs maximális hossza 500 (MI_MAX_KEY_LENGTH). A blokk maximális hossza 16384 (MI_MAX_KEY_BLOCK_LENGTH).

Referenciák

Lásd még