2010-02-19 16 views
9

Ho visto la stessa domanda posta per PostgreSQL here; chiedendosi se qualcuno sa (a) il sapore MySQL della risposta e (b) quali opzioni MySQL vorrei esaminare per determinare/influenzare la risposta.Come determinare la dimensione massima della transazione in MySQL?

Non ho bisogno di una risposta assoluta btw, ma se dovessi proporre l'inserimento, ad esempio, 200.000 righe di ~ 2Kb ciascuna lo considereresti molto semplice, o spingendo un po 'il limite?

Supponiamo che MySQL sia in esecuzione su una scatola Linux ben congegnata con 4 GB di RAM, shedload di spazio su disco e un'istanza ottimizzata da qualcuno che generalmente sa cosa stanno facendo!

Acclamazioni

Brian

+1

Trovato un "Panoramica sulla registrazione delle transazioni in MySQL" articolo a http://www.pythian.com/news/1337/ (non risponde alla mia domanda ma sfondo interessante) – Brian

risposta

13

Per Innodb la dimensione della transazione sarà limitata dalla dimensione del log di ripristino (ib_logfile *), quindi se si pianifica di eseguire il commit di transazioni molto grandi assicurarsi di impostare innodb_log_file_size = 256M o più. Lo svantaggio è che ci vorrà più tempo per riprendersi in caso di incidente.

Ma per la cronaca i dipendenti Innobase si consiglia di conservare le transazioni short

+0

sembra perfetto, grazie – Brian

1

Non ci sono limiti di transazione costruito all'interno di server SQL. Il limite è l'hardware che lo esegue, la RAM fisica, lo spazio libero sul disco rigido.

Eseguiamo con successo le importazioni di milioni di dati.

+1

Ciao, grazie per la rapida risposta. Sei sicuro? Il motivo che ho chiesto inizialmente è che ho lavorato su piattaforme enterprise "Sybase" prima che grandi operazioni (centinaia di migliaia di istruzioni) riempissero il log delle transazioni e impedissero ulteriori scritture di database finché non avessimo i DBA per correggere la situazione! Il mio istinto è che c'è un file di registro delle transazioni MySQL/impostazione di memoria da qualche parte che può davvero essere impostato molto grande, ma che è comunque finito nella dimensione ....? – Brian

+1

Suppongo che questa risposta sia sbagliata. Almeno per ORACLE, ci sono limitazioni nella dimensione della transazione, e sembra che InnoDB abbia anche dei limiti. – hgoebl

Problemi correlati