Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 3517|Vastaus: 1

[Vinkkejä] [Siirto] MySQL Advanced: optimoi taulukomento

[Kopioi linkki]
Julkaistu 17.6.2023 11.40.34 | | |
Mysql:ää käyttäessä saatat huomata, että vaikka taulukko poistaa paljon dataa, taulukon tiedostot ja indeksitiedostot ovat oudon pieniä. Tämä johtuu siitä, että mysql jättää paljon dataaukkoja poistaessaan dataa (erityisesti tekstiä ja BLOBia), jotka vievät alkuperäisen datan tilaa, joten tiedoston koko ei muutu. Näitä aukkoja voidaan käyttää uudelleen tulevaisuudessa, kun dataa lisätään, ja tietysti ne voivat jäädä sinne. Tämä aukko ei ainoastaan lisää tallennuskustannuksia, vaan myös heikentää taulukon skannaustehokkuutta datan pirstoutumisen vuoksi.

Käyttötilanteet:Jos olet poistanut suuren osan taulukosta tai tehnyt paljon muutoksia taulukkoon, jossa on muuttuvan pituisia rivejä (sellainen jossa on VARCHAR-, BLOB- tai TEXT-sarakkeet), sinun kannattaa käyttää OPTIMIZE TABLE -toimintoa. Poistetut tietueet säilytetään linkitetyssä listassa, ja myöhemmät INSERT-toiminnot käyttävät vanhaa tietueen sijaintia uudelleen. Voit käyttää OPTIMIZE TABLE -toimintoa käyttämättömän tilan uudelleenkäyttöön ja tiedostojen fragmenttien järjestämiseen. [Kun suuri määrä dataa poistetaan kirjastostasi, saatat huomata, että tiedoston koko ei ole pienentynyt. Tämä johtuu tiedostoon jääneestä pirstoutumisesta poistotoimenpiteen jälkeen.


Useimmissa asetuksissa OPTIMIZE TABLE -toimintoa ei tarvitse ajaa lainkaan. Vaikka tekisit paljon päivityksiä muuttuvan pituisiin riveihin, niitä ei tarvitse ajaa usein, kerran viikossa tai kerran kuukaudessa, vain tietyille taulukoille.

OPTIMIZE TABLE toimii vain MyISAM-, BDB- ja InnoDB-tauluille.

BDB-taulukoissa OPTIMIZE TABLE on tällä hetkellä kuvattu ANALYZE TABLE -taulukkoon. InnoDB-tauluissa OPTIMIZE TABLE on kartoitettu ALTER TABLEn kanssa, joka rakentaa taulun uudelleen. Rakennustoiminnot uudelleen, indeksointitilastot päivittävät ja vapautetaan käyttämätöntä tilaa klusteroiduissa indekseissä.

Huomautus: MySQL lukitsee taulukon OPTIMIZE TABLE -suorituksen aikana.

Myisamille voit käyttää suoraan optimointitaulukkoa table.name,Kun kyseessä on InnoDB-moottori, se raportoi "Taulu ei tue optimointia, teen recreate + analyze sen sijaan", ja normaalisti, jos muunnat myisamista innodb:ksi, käytät alter table table.name engine='innodb' muuntamiseen, ja voit käyttää tätä myös optimointiin.Siksi, kun kyseessä on InnoDB-moottori, voimme käyttää alter table table.name engine='innodb' optimoinnin sijaan

Ennen ja jälkeen -ilmiöiden tarkasteluun voit käyttää näytä taulun tilakomentoa, kuten näytä taulun tila [tietokannasta] kuten '[table_name]'; Palautustuloksen data_free on tyhjyyden täyttämä säilytystila.

Shell-skripti, joka toteuttaa MySQL:n ajoitetun erätarkistustaulun korjauksen ja optimoivan taulun optimointitaulun, on seuraava:

Alkuperäinen:

Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.




Edellinen:Käytä SQLMAP-infiltraatiotyökalua SQL injection testing
Seuraava:Consul-asennusopas Windows-testiympäristössä
 Vuokraisäntä| Julkaistu 6.7.2023 18.54.17 |
--Muistilista


-- Korjaa taulukko


-- Optimoi taulukko


Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com