【问题标题】:How do I determine maximum transaction size in MySQL?如何确定 MySQL 中的最大事务大小?
【发布时间】:2012-10-05 17:05:54
【问题描述】:

看到为 PostgreSQL here 提出的相同问题;想知道是否有人知道 (a) 响应的 MySQL 风格以及 (b) 我将检查哪些 MySQL 选项来确定/影响答案。

顺便说一句,我不需要一个绝对的答案,但如果我建议插入 200,000 行,每行约 2Kb,您会认为这非常简单,还是稍微突破限制?

假设 MySQL 运行在一个配置良好的 Linux 机器上,该机器具有 4Gb 的 RAM、大量的磁盘空间以及一个由通常知道自己在做什么的人调整的实例!

干杯

布赖恩

【问题讨论】:

  • pythian.com/news/1337 找到一篇“MySQL 中的事务日志概述”文章(没有回答我的问题,但背景很有趣)

标签: mysql transactions


【解决方案1】:

对于 Innodb,事务大小将受到重做日志 (ib_logfile*) 大小的限制,因此如果您计划提交非常大的事务,请确保设置 innodb_log_file_size=256M 或更多。缺点是在崩溃的情况下需要更长的时间才能恢复。

但 Innobase 员工建议保留交易short

【讨论】:

    【解决方案2】:

    SQL 服务器内部没有构建事务限制。限制是运行它的硬件、物理 RAM、硬盘上的可用空间。

    我们成功导入了数百万条数据。

    【讨论】:

    • 您好,感谢您的快速回复。你确定吗?我最初问的原因是,在大型操作(数十万条语句)会填满事务日志并阻止进一步的数据库写入之前,我曾在“企业”Sybase 平台上工作过,直到我们让 DBA 纠正这种情况!我的直觉是某个地方有一个 MySQL 事务日志文件/内存设置,它确实可以设置得非常大,但它的大小仍然是有限的......?
    • 我想这个答案是错误的。至少对于 ORACLE,事务大小是有限制的,看起来 InnoDB 也有限制。
    • 硬件不是极限。还有其他特定于数据库的注意事项需要牢记:dba.stackexchange.com/questions/19569/…
    猜你喜欢
    • 2011-02-13
    • 2010-10-17
    • 2016-11-05
    • 2020-12-10
    • 2020-09-09
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多