Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 3517|Válasz: 1

[Tippek] [Átvitel] MySQL Advanced-re: táblázat optimalizálása parancs

[Linket másol]
Közzétéve 2023. 06. 17. 11:40:34 | | |
Mysql-t használva előfordulhat, hogy bár egy tábla sok adatot törlik, a táblázat adatfájljai és indexfájljai furcsán kicsik. Ez azért van, mert a mysql sok adatlyukat hagy maga után az adatok törlése (különösen a szöveg és a BLOB), amelyek elfoglalják az eredeti adat helyét, így a fájlméret nem változik. Ezeket a lyukakat a jövőben újra felhasználhatják az adatok behelyezésekor, és természetesen ott is maradhatnak. Ez a lyuk nemcsak a tárolási költséget növeli, hanem az adatok töredezettsége miatt csökkenti a tábla szkennelési hatékonyságát is.

Használati forgatókönyvek:Ha a tábla nagy részét törölted, vagy sok változtatást eszközöltél egy változó hosszúságú sorú táblán (például VARCHAR, BLOB vagy TEXT oszlopokkal), akkor használd az OPTIMIZE TABLE opciót. A törölt rekordokat a linkelt listában tartják, és a későbbi INSERT műveletek újra felhasználják a régi rekordhelyet. Az OPTIMIZE TABLE segítségével újrahasznosíthatod a kihasználatlan teret és rendszerezheted az adatfájlok töredékeit. [Ha nagy mennyiségű adatot törölsz a könyvtáradból, előfordulhat, hogy az adatfájl mérete nem csökkent. Ez az adatfájlban a törlési művelet után maradt töredékek miatt van.


A legtöbb beállításban egyáltalán nem kell futtatnod az OPTIMIZE TABLE-t. Még ha sok változtatáshosszú sorokat is frissítesz, nem kell gyakran futtatnod őket, hetente egyszer vagy havonta egyszer, csak bizonyos táblákhoz.

Az OPTIMIZE TABLE csak MyISAM, BDB és InnoDB táblákhoz működik.

BDB táblák esetén az OPTIMIZE TABLE jelenleg az ANALYZE TABLE-hoz van leképezve. Az InnoDB táblák esetén az OPTIMIZE TABLE az ALTER TABLE-hoz van leképezve, amely újraépíti a táblát. Újraépíti a műveleteket, frissíti az index-statisztikákat, és felszabadítja a kihasználatlan helyet a klaszterezett indexekben.

Megjegyzés: A MySQL zárolja a táblát az OPTIMIZE TABLE futtatás során.

Myisamhoz közvetlenül használhatod az Optimize Table table.name-t,Ha az InnoDB motorról van szó, azt fogja jelenteni: "A tábla nem támogatja az optimalizálást, helyette recreate + elemzést teszünk", és normál körülmények között, ha a myisamról az InnoDB-re konvertálsz, az alter table table.name engine='innodb' opciót használod a konvertáláshoz, és ezt is használhatod optimalizálásra.Ezért, ha az InnoDB motorról van szó, használhatjuk az alter table table.name engine='innodb' opciót az optimalizálás helyett

A before és after effektek megtekintéséhez használhatod a show table status parancsot, például a [database] állapot megjelenítését, például '[table_name]'; A visszaküldés eredményének data_free az űr által elfoglalt tárolóhely.

A shell szkript, amely a MySQL időzített batch ellenőrző táblázat javítását és táblázatoptimalizálását valósítja meg, a következő:

Eredeti:

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.




Előző:Használd az SQLMAP beszivárgás eszközt, SQL injekciós tesztelést
Következő:Consul telepítési útmutató Windows tesztkörnyezetben
 Háziúr| Közzétéve 2023. 07. 06. 18:54:17 |
--Feladatlista


-- Javítsd meg a táblázatot


-- Optimalizáld a táblázatot


Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com