In MySQL che cosa significa “Overhead” significa, ciò che è male su di esso, e come risolvere il problema?

StackOverflow https://stackoverflow.com/questions/565997

  •  05-09-2019
  •  | 
  •  

Domanda

domanda semplice, ma la sua mi è stato fastidioso per un po 'di tempo ....

Che cosa è "in testa" in MySQL, e dovrei essere preoccupato?

fa clic su "OPTIMIZE TABLE" fissare per davvero?

È stato utile?

Soluzione

Sembra che il sovraccarico è spazio su disco temporaneo che il database utilizzato per eseguire alcune delle domande rivolte, così si dovrebbe preoccupare solo se questo diventa molto alto.

È possibile confrontare 'Ottimizzazione del tavolo' con la deframmentazione del disco rigido.

cito:

  

Ogni database, nel corso del tempo,   richiederebbe una forma di manutenzione   tenerlo in una ottimale prestazioni   livello. Eliminazione righe eliminate,   resequencing, compressione, gestione   percorsi di indice, deframmentazione, ecc è   ciò che è noto come OTTIMIZZAZIONE in mysql   e altri termini in altri database.   Ad esempio, IBM DB2 / 400 chiamate IT   RIORGANIZZARE FISICHE MEMBRO FILE.

     

E 'un po' come cambiare l'olio in   la vostra auto o di ottenere una messa a punto. Potresti   pensare che in realtà non c'è bisogno di, ma da   Così facendo la vostra macchina funziona molto meglio,   si ottiene una migliore distanza in miglia del gas, ecc Una macchina   che ottiene un sacco di chilometraggio richiede   messe a punto più spesso. Un database che   ottiene un uso pesante richiede lo stesso. Se   si sta facendo un sacco di aggiornamento e / o   operazioni DELETE, e soprattutto se   le tabelle hanno lunghezza variabile   colonne (VARCHAR, TEXT, ecc), è necessario   per mantenere 'er messo a punto.

Altri suggerimenti

Se si sta parlando la cosa che phpMyAdmin chiamate overhead, quindi la sua dimensione effettiva di una tabella di file di dati rispetto alle dimensioni ideali dello stesso file di dati (come se quando appena ripristinato dal backup).

Per motivi di prestazioni, MySQL non compattare il file di dati dopo che elimina o aggiorna righe.

Questa overhead è un male per la scansione da tavolo, i. e. quando la query deve essere eseguito su tutti i valori della tabella, avrà bisogno di guardare più spazio vuoto.

È possibile eliminare il overhead eseguendo OPTIMIZE TABLE che compattare il tavolo e gli indici.

Overhead è Data_free di una tabella, che è Il numero di byte allocato ma non utilizzati. Siamo in grado di trovare con comando SQL SHOW TABLE STATUS . E 'lo spazio libero nella dimensione allocata per la vostra tavola.

OPTIMIZE TABLE può essere molto problematico. Per esempio, se la tabella viene utilizzata pesantemente su un sito.

http://dev.mysql.com/doc/ refman / 5.1 / it / optimize-table.html

  

Dopo eliminare gran parte di una tabella MyISAM o archivio, o fare molte modifiche a una tabella MyISAM o archivio con righe di lunghezza variabile (tabelle che hanno VARCHAR, colonne VARBINARY, BLOB o testo). righe eliminate sono mantenuti in una lista concatenata e le operazioni INSERISCI riutilizzano le posizioni riga vecchia. <

Credo di aver confermato questo comportamento. E sarebbe sicuramente molto utile davvero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top