Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3517|Risposta: 1

[Consigli] [Trasferimento] su MySQL Advanced: ottimizza comando tabella

[Copiato link]
Pubblicato su 17/06/2023 11:40:34 | | |
Quando usi mysql, potresti scoprire che, sebbene una tabella cancelli molti dati, i file dati e gli indici della tabella sono stranamente piccoli. Questo perché mysql lascerà molti buchi nei dati quando si cancellano dati (soprattutto Text e BLOB), che occuperanno lo spazio dei dati originali, quindi la dimensione del file non cambia. Questi fori potrebbero essere riutilizzati in futuro quando verranno inseriti i dati, e naturalmente potrebbero rimanere lì. Questo foro non solo aumenta il costo di archiviazione, ma riduce anche l'efficienza di scansione della tabella a causa della frammentazione dei dati.

Scenari di utilizzo:Se hai eliminato una grande parte della tabella, o se hai apportato molte modifiche a una tabella con righe di lunghezza variabile (una con colonne VARCHAR, BLOB o TEXT), dovresti usare OPTIMIZE TABLE. I record cancellati vengono mantenuti nella lista collegata e le successive operazioni INSERT riutilizzano la vecchia posizione dei record. Puoi usare OPTIMIZE TABLE per riutilizzare lo spazio inutilizzato e organizzare frammenti di file dati. [Quando una grande quantità di dati viene eliminata dalla tua libreria, potresti notare che la dimensione del file dati non è diminuita. Ciò è dovuto alla frammentazione lasciata nel file dati dopo l'operazione di cancellazione.


Nella maggior parte delle impostazioni, non è necessario eseguire affatto OPTIMIZE TABLE. Anche se fai molti aggiornamenti alle righe di lunghezza variabile, non è necessario eseguirle spesso, una volta a settimana o una volta al mese, solo per tabelle specifiche.

OPTIMIZE TABLE funziona solo per le tabelle MyISAM, BDB e InnoDB.

Per le tabelle BDB, la OPTIMIZE TABLE è attualmente mappata alla ANALYZE TABLE. Per le tabelle InnoDB, la OPTIMIZE TABLE viene mappata all'ALTER TABLE, che ricostruisce la tabella. Le operazioni di ricostruzione, aggiornano le statistiche degli indici e liberano spazio inutilizzato negli indici clusterizzati.

Nota: MySQL blocca la tabella durante l'esecuzione OPTIMIZE TABLE.

Per myisam, puoi usare direttamente la tabella di ottimizzazione table.name,Quando si tratta del motore InnoDB, riporterà "Table does not supporte optimize, doing recreate + analyze", e in circostanze normali, se converti da myisam a innodb, userai alter table table.name engine='innodb' per convertire, e puoi anche usarlo per ottimizzazione.Pertanto, quando si tratta del motore InnoDB, possiamo usare alter table table.name engine='innodb' invece di ottimizzare per l'ottimizzazione

Per visualizzare il prima e dopo effetti, puoi usare il comando show table status, ad esempio mostra lo stato della tabella da [database] come '[table_name]'; La data_free nel risultato di ritorno è lo spazio di stoccaggio occupato dal vuoto.

Lo script shell che implementa MySQL riparazione batch timed e ottimizzazione della tabella di ottimizzazione è il seguente:

Originale:

Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.




Precedente:Usa lo strumento di infiltrazione SQLMAP per il test di iniezione SQL
Prossimo:Tutorial per l'installazione di Consul in un ambiente di test Windows
 Padrone di casa| Pubblicato su 06/07/2023 18:54:17 |
--Lista di controllo


-- Sistemate il tavolo


-- Ottimizzare la tabella


Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com