Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3517|Atbildi: 1

[Padomi] [Pārsūtīt] uz MySQL Advanced: optimizēt tabulas komandu

[Kopēt saiti]
Publicēts 17.06.2023 11:40:34 | | |
Izmantojot mysql, jūs varat konstatēt, ka, lai gan tabula izdzēš daudz datu, tabulas datu faili un indeksa faili ir dīvaini mazi. Tas ir tāpēc, ka, dzēšot datus (īpaši tekstu un BLOB), mysql atstās daudzus datu caurumus, kas aizņems sākotnējo datu vietu, tāpēc faila lielums nemainās. Šie caurumi var tikt atkārtoti izmantoti nākotnē, kad dati tiek ievietoti, un, protams, tie var palikt tur. Šis caurums ne tikai palielina uzglabāšanas izmaksas, bet arī samazina tabulas skenēšanas efektivitāti datu sadrumstalotības dēļ.

Lietošanas scenāriji:Ja esat izdzēsis lielu tabulas daļu vai esat veicis daudz izmaiņu tabulā ar mainīga garuma rindām (viena ar kolonnām VARCHAR, BLOB vai TEXT), jāizmanto OPTIMIZE TABLE. Izdzēstie ieraksti tiek glabāti saistītajā sarakstā, un turpmākās INSERT operācijas atkārtoti izmanto veco ieraksta atrašanās vietu. Varat izmantot funkciju OPTIMIZE TABLE, lai pārveidotu neizmantoto vietu un organizētu datu failu fragmentus. [Ja no bibliotēkas tiek izdzēsts liels datu apjoms, var konstatēt, ka datu faila lielums nav samazinājies. Tas ir saistīts ar sadrumstalotību, kas atstāta datu failā pēc dzēšanas operācijas.


Lielākajā daļā iestatījumu OPTIMIZE TABLE vispār nav jāpalaiž. Pat ja veicat daudz atjauninājumu mainīga garuma rindās, tās nav jāizpilda bieži, reizi nedēļā vai reizi mēnesī, tikai noteiktām tabulām.

OPTIMIZE TABLE darbojas tikai MyISAM, BDB un InnoDB tabulām.

BDB tabulām OPTIMIZE TABLE pašlaik ir kartēta uz ANALYZE TABLE. InnoDB tabulām OPTIMIZE TABLE tiek kartēta uz ALTER TABLE, kas pārveido tabulu. Pārbūves operācijas: atjauniniet indeksa statistiku un atbrīvojiet neizmantoto vietu sagrupētajos indeksos.

Piezīme: MySQL bloķē tabulu OPTIMIZE TABLE izpildes laikā.

Myisam varat tieši izmantot optimizēt tabulu table.name,Kad tas ir InnoDB dzinējs, tas ziņos "Tabula neatbalsta optimizāciju, tā vietā veicot atkārtotu izveidi + analīzi", un normālos apstākļos, ja konvertējat no myisam uz innodb, konvertēšanai izmantosiet mainīt tabulu table.name engine='innodb', un jūs varat to izmantot arī optimizācijai.Tāpēc, ja tas ir InnoDB dzinējs, mēs varam izmantot mainīt tabulu table.name engine='innodb', nevis optimizēt optimizācijai

Lai skatītu efektus pirms un pēc, varat izmantot komandu rādīt tabulas statusu, piemēram, rādīt tabulas statusu no [datu bāzes], piemēram, '[table_name]'; Atgriešanās rezultāta data_free ir tukšuma aizņemtā uzglabāšanas vieta.

Čaulas skripts, kas īsteno MySQL laika pakešu pārbaudes tabulas labošanu un tabulas optimizēšanas tabulas optimizēšanu, ir šāds:

Sākotnējā:

Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.




Iepriekšējo:Izmantojiet SQLMAP infiltrācijas rīku SQL injekcijas testēšana
Nākamo:Konsula uzstādīšanas apmācība Windows testa vidē
 Saimnieks| Publicēts 06.07.2023 18:54:17 |
--Kontrolsarakstu


-- Labojiet tabulu


-- Optimizējiet tabulu


Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com