Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3517|Odgovoriti: 1

[Napitnine] [Prenos] na MySQL Advanced: optimiziraj ukaz tabele

[Kopiraj povezavo]
Objavljeno na 17. 06. 2023 11:40:34 | | |
Pri uporabi mysql lahko ugotovite, da čeprav tabela izbriše veliko podatkov, so podatkovne datoteke in indeksne datoteke v tabeli nenavadno majhne. To je zato, ker mysql pusti veliko podatkovnih lukenj pri brisanju podatkov (še posebej besedila in BLOB), ki zavzamejo prostor izvirnih podatkov, zato se velikost datoteke ne spremeni. Te luknje se lahko v prihodnosti ponovno uporabijo, ko bodo podatki vstavljeni, in seveda lahko ostanejo tam. Ta luknja ne povečuje le stroškov shranjevanja, ampak tudi zmanjša učinkovitost skeniranja tabele zaradi fragmentacije podatkov.

Scenariji uporabe:Če ste izbrisali velik del tabele ali če ste naredili veliko sprememb v tabeli z vrsticami spremenljive dolžine (ena z stolpci VARCHAR, BLOB ali TEXT), uporabite OPTIMIZE TABLE. Izbrisani zapisi ostanejo v povezanem seznamu, nadaljnje operacije INSERT pa ponovno uporabijo staro lokacijo zapisa. Uporabite lahko OPTIMIZE TABLE za ponovno uporabo neuporabljenega prostora in organizacijo fragmentov podatkovnih datotek. [Ko je iz vaše knjižnice izbrisana velika količina podatkov, lahko ugotovite, da se velikost podatkovne datoteke ni zmanjšala. To je posledica fragmentacije, ki ostane v podatkovni datoteki po operaciji brisanja.


V večini okolij sploh ni treba zagnati OPTIMIZE TABLE. Tudi če veliko posodabljate vrstice spremenljive dolžine, jih ni treba pogosto izvajati, enkrat na teden ali enkrat na mesec, le za določene tabele.

OPTIMIZE TABELA deluje samo za tabele MyISAM, BDB in InnoDB.

Za BDB tabele je OPTIMIZE TABELA trenutno preslikana na ANALYZE TABELO. Za tabele InnoDB se OPTIMIZE TABELA preslika na ALTER TABELO, ki tabelo ponovno zgradi. Operacije obnove, posodobijo statistiko indeksa in sprostijo neizkoriščen prostor v gručenih indeksih.

Opomba: MySQL zaklene tabelo med izvajanjem OPTIMIZE TABLE.

Za myisam lahko neposredno uporabite optimizacijsko tabelo table.name,Ko gre za InnoDB pogon, bo poročal "Tabela ne podpira optimizacije, namesto tega izvajam recreate + analyse", in v običajnih okoliščinah, če pretvorite iz myisam v innodb, boste uporabili alter tabelo table.name engine='innodb' za pretvorbo, kar lahko uporabite tudi za optimizacijo.Zato lahko, kadar gre za InnoDB pogon, namesto optimizacije uporabimo alter tabelo table.name engine='innodb'

Za ogled pred in po efektih lahko uporabite ukaz za prikaz stanja tabele, na primer prikaz stanja tabele iz [baze podatkov], kot je '[table_name]'; data_free v povratnem rezultatu je shranjevalni prostor, ki ga zaseda praznina.

Shell skripta, ki izvaja MySQL časovno paketno popravilo kontrolne tabele in optimizacijo tabele za optimizacijo tabele, je naslednja:

Izvirno:

Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.




Prejšnji:Uporabite orodje za infiltracijo SQLMAP, testiranje SQL injekcij
Naslednji:Uvodni vodič za namestitev Consul v testnem okolju Windows
 Najemodajalec| Objavljeno na 6. 07. 2023 18:54:17 |
--Kontrolni seznam


-- Popravi mizo


-- Optimizirajte tabelo


Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com