február 20, 2022

MySQL:: Re: hogyan lehet zsugorítani a MySQL adatbázist

helyes. Ez az InnoDB megosztott tablespace fájljának korlátozása. Nagyon költséges művelet lenne a MySQL szerver számára, hogy tömörítse a használt helyet a tablespace fájlban, és csökkentse a fájlt. Képzelje el, ha van egy 100 GB-os táblaterület-fájlja, és újraépítést szeretne végrehajtani annak tömörítéséhez. Általában a MySQL tábla újjáépítése megköveteli, hogy mind a régi, mind az új tároló egyszerre létezzen a lemezen a művelet során.
tehát az InnoDB viselkedése az, hogy elhagyja az üres helyet, és azt használja az új sorverziók későbbi beillesztéséhez.
lásd:
Bug # 1287 http://bugs.mysql.com/bug.php?id=1287
Bug #1341 http://bugs.mysql.com/bug.php?id=1341
az egyik megoldás, hogy csökken a megosztott InnoDB táblaterület:
1. Backup * minden * InnoDB asztalok mysqldump.
2. Dobja el az összes InnoDB táblát.
3. Fizikailag törölje az ibdata1 fájlt a fájlrendszer felületén.
4. Indítsa újra a MySQL kiszolgálót, amely új, kis táblaterület-fájlt hoz létre.
5. Állítsa vissza az összes InnoDB táblát, amely szükség szerint kibővíti a tablespace fájlt.
egy másik megoldás az InnoDB táblák táblázatonként külön fájlban történő tárolása. Lásd http://dev.mysql.com/doc/refman/5.0/en/multiple-tablespaces.html ha ezt megteszi, akkor képesnek kell lennie arra, hogy optimalizálja a táblázatot vagy az ALTER TABLE-t minden egyes InnoDB-táblán, amelyet zsugorítani szeretne. Ez állítólag újjáépíteni a .ibd fájl az egyes táblához.
Üdvözlettel,
Bill K.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.