Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3517|Răspunde: 1

[Bacșișuri] [Transfer] către MySQL Advanced: comandă de optimizare a tabelului

[Copiază linkul]
Postat pe 17.06.2023 11:40:34 | | |
Când folosești mysql, s-ar putea să observi că, deși un tabel șterge multe date, fișierele de date și fișierele index ale tabelului sunt ciudat de mici. Acest lucru se datorează faptului că mysql va lăsa multe goluri de date la ștergerea datelor (în special Text și BLOB), care vor ocupa spațiul datelor originale, astfel încât dimensiunea fișierului să nu se schimbe. Aceste găuri pot fi reutilizate în viitor, când datele sunt introduse, și, desigur, pot rămâne acolo. Această gaură nu doar că crește costul de stocare, dar reduce și eficiența scanării tabelului din cauza fragmentării datelor.

Scenarii de utilizare:Dacă ai șters o mare parte din tabel sau dacă ai făcut multe modificări într-un tabel cu rânduri de lungime variabilă (unul cu coloane VARCHAR, BLOB sau TEXT), ar trebui să folosești OPTIMIZE TABLE. Înregistrările șterse sunt păstrate în lista legată, iar operațiunile ulterioare INSERT reutilizează locația veche a înregistrărilor. Poți folosi OPTIMIZE TABLE pentru a refolosi spațiul nefolosit și a organiza fragmente de fișiere de date. [Când o cantitate mare de date este ștearsă din biblioteca ta, este posibil să descoperi că dimensiunea fișierului de date nu a scăzut. Acest lucru se datorează fragmentării lăsate în fișierul de date după operația de ștergere.


În majoritatea setărilor, nu trebuie să rulezi deloc OPTIMIZE TABLE. Chiar dacă faci multe actualizări la rânduri de lungime variabilă, nu trebuie să le rulezi des, o dată pe săptămână sau o dată pe lună, doar pentru tabele specifice.

OPTIMIZE TABLE funcționează doar pentru tabelele MyISAM, BDB și InnoDB.

Pentru tabelele BDB, TABELUL OPTIMIZE este în prezent mapat la TABELUL ANALIZĂ. Pentru tabelele InnoDB, TABELUL OPTIMIZE este mapat la TABELUL ALTER, care reconstruiește tabelul. Operațiunile de reconstrucție actualizează statisticile indexului și eliberează spațiu neutilizat în indicii clusterați.

Notă: MySQL blochează tabelul în timpul rulării OPTIMIZE TABLE.

Pentru myisam, poți folosi direct tabelul de optimizare table.name,Când este vorba de motorul InnoDB, va raporta "Table does not support optimize, fac recreate + analyze" în schimb", iar în condiții normale, dacă convertești de la myisam la innodb, vei folosi alter table table.name engine='innodb' pentru convertire, și poți folosi și asta pentru optimizare.Prin urmare, când este vorba de motorul InnoDB, putem folosi alter table table.name engine='innodb' în loc de optimizare

Pentru a vizualiza efectele înainte și după efecte, poți folosi comanda de afișare a statusului tabelului, cum ar fi afișarea statusului tabelului din [baza de date], cum ar fi "[table_name]"; data_free în rezultatul de retur este spațiul de stocare ocupat de vid.

Scriptul shell care implementează repararea tabelelor de verificare în loturi temporizate MySQL și tabelul de optimizare a tabelelor este următorul:

Original:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.




Precedent:Folosește instrumentul de infiltrare SQLMAP pentru testarea injecției SQL
Următor:Tutorial de instalare Consul într-un mediu de testare Windows
 Proprietarul| Postat pe 06.07.2023 18:54:17 |
--Verificare


-- Aranjează masa


-- Optimizarea tabelului


Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com