2010-02-19 39 views
9

看到PostgreSQL提出的同樣的問題here;想知道是否有人知道(a)響應的MySQL風格和(b)我將檢查哪些MySQL選項以確定/影響答案。如何確定MySQL中的最大事務大小?

我不需要一個絕對答案btw,但如果我建議插入,比如說,200,000行〜2Kb,你會認爲這非常簡單,或者推動了一點限制?

假設MySQL運行在一個精心設計的Linux機箱上,內存爲4Gb,卸載了大量磁盤空間,以及一個由通常知道自己在做什麼的人調整的實例!

乾杯

布賴恩

+1

在http://www.pythian.com/news/1337/認爲第一個「MySQL中的事務日誌記錄概述」(不回答我問題,但有趣的背景) – Brian 2010-02-19 17:16:08

回答

13

對於Innodb,事務大小將受重做日誌(ib_logfile *)的大小限制,因此如果您計劃提交非常大的事務,請確保您設置innodb_log_file_size = 256M或更多。缺點是,如果發生崩潰,恢復時間會更長。

但備案Innobase公司員工建議保持你的交易short

+0

看起來很完美,謝謝 – Brian 2010-02-19 22:54:02

1

有SQL服務器內建成無交易限制。限制是運行它的硬件,物理RAM,硬盤上的可用空間。

我們成功運行數百萬數據的導入。

+1

嗨,感謝您的快速響應。你確定?我最初問的原因是,在大型操作(數十萬條語句)填滿事務日誌之前,我已經在「企業級」Sybase平臺上工作,並且直到我們有數據庫管理員才能糾正這種情況,才阻止進一步的數據庫寫入! 我的直覺是,有一個MySQL事務日誌文件/內存設置的確可以設置得非常大,但是它的大小是有限的....? – Brian 2010-02-19 16:55:03

+1

我想這個答案是錯誤的。至少對於ORACLE來說,事務大小是有限制的,看起來像InnoDB也有侷限性。 – hgoebl 2017-07-24 09:52:30