2010-02-19 10 views
9

Sah die gleiche Frage für PostgreSQL gesetzt here; frage mich, ob jemand (a) den MySQL-Geschmack der Antwort kennt und (b) welche MySQL-Optionen ich untersuchen würde, um die Antwort zu bestimmen/zu beeinflussen.Wie ermittle ich die maximale Transaktionsgröße in MySQL?

Ich brauche keine absolute Antwort BTW, aber wenn ich vorschlagen würde, Einfügen, sagen, 200.000 Reihen von ~ 2Kb jeder würden Sie das sehr einfach, oder das Limit ein wenig schieben?

Angenommen, MySQL läuft auf einer gut ausgestatteten Linux-Box mit 4 GB RAM, einer Menge Speicherplatz und einer Instanz, die von jemandem abgestimmt wird, der im Allgemeinen weiß, was sie tun!

Prost

Brian

+1

eine „Übersicht über die Transaktionsprotokollierung in MySQL“ Artikel bei http://www.pythian.com/news/1337/ gefunden (nicht beantwortet meine Frage aber interessanter Hintergrund) – Brian

Antwort

13

Bei Innodb wird die Transaktionsgröße durch die Größe des Redo-Logs (ib_logfile *) begrenzt. Wenn Sie also sehr große Transaktionen festschreiben möchten, stellen Sie innodb_log_file_size = 256M oder höher ein. Der Nachteil ist, dass die Wiederherstellung im Falle eines Absturzes länger dauert.

Aber für die Aufzeichnung Innobase Mitarbeiter Sie empfehlen Ihnen, Transaktionen short

+0

sieht perfekt aus, danke – Brian

1

Es sind keine Transaktionslimits innerhalb von SQL-Servern aufgebaut. Das Limit ist die Hardware, die es ausführt, physischer RAM, freier Speicherplatz auf der Festplatte.

Wir führen erfolgreich Importe von Millionen von Daten.

+1

Hallo, vielen Dank für die schnelle Antwort. Bist du sicher? Grund Ich fragte ursprünglich, dass ich auf "Unternehmen" Sybase-Plattformen gearbeitet habe, wo große Operationen (Hunderttausende von Anweisungen) das Transaktionsprotokoll füllen und weitere DB-Schreibvorgänge verhindern würden, bis DBAs die Situation berichtigen! Mein Instinkt ist, dass es irgendwo eine MySQL-Transaktionsprotokolldatei/Speichereinstellung gibt, die zwar sehr groß gesetzt werden kann, aber dennoch endlich groß ist ....? – Brian

+1

Ich nehme an, diese Antwort ist falsch. Zumindest für ORACLE gibt es Einschränkungen in der Transaktionsgröße und es scheint, als hätte InnoDB auch Einschränkungen. – hgoebl

Verwandte Themen