tencent cloud

文档反馈

大事务提交 binlog 优化

最后更新时间:2024-11-13 21:31:40

    背景

    在数据库中执⾏⼤事务时,其他事务的执⾏会变慢。由于事务执⾏成功的标志是其提交成功,⽽事务提交需要等待其 binlog 落盘,binlog 是按顺序写⼊⽂件的,且要求逐个完整的排队写⼊,即同⼀时间只能写⼀个事务,当某个事务特别⼤时,例如100G,其 binlog 落盘的时间就会很⻓,此时需要提交的其他事务就需要等待该大事务写完,才能接着写入,因此其他事务的执⾏会很慢。

    功能介绍

    在大事务提交的时候,会写入大量 binlog 日志,导致其他事务长时间无法提交。腾讯云内核团队针对此场景进行了优化,将大事务产生的 binlog 日志重定向到新的临时文件,避免因大事务提交阻塞其他事务而产生额外的处理时间,当该大事务提交后,会更新临时文件为正式的 binlog 日志序列,并更新原数据映射关系。

    支持版本

    内核版本 TDSQL-C MySQL 版8.0 3.1.12及以上。

    适用场景

    在数据库中执行大事务以及其他事务场景下,用于缩短大事务提交阻塞其他事务的时间。

    使用说明

    通过 txsql_non_blocking_binlog_threshold 参数使用该功能,将该参数值设置为非默认值,即可使用该功能,详细参数说明如下:
    名称
    是否全局
    类型
    默认
    取值范围
    说明
    txsql_non_blocking_binlog_threshold
    全局
    ulong
    UINT64_MAX
    134217728-UINT64_MAX
    当事务的日志量大于等于这个值(单位:字节),则事务将使用大事务提交 binlog 优化的方式进行提交。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持