• mysql配置提高数据插入效率


    innodb_buffer_pool_size

    innodb_buffer_pool_size 默认值为32M,可以设置成128M。

    该参数表示mysql 的Innodb存储引擎为优化查询性能而开辟出的一块内存缓冲区

    1. show global VARIABLES like 'innodb_buffer_pool_size'
    2. set global innodb_buffer_pool_size=1024*1024*128;

    innodb_flush_log_at_trx_commit

    innodb_flush_log_at_trx_commit 默认值为1;设置为0,可以提高写入速度。

    值为0:提升写入速度,但是安全方面较差,mysql服务器宕机可能会造成数据丢失。

    值为1:每一次事务提交或者事务外的指令都需要把日志写入硬盘,此过程消耗时间较长;

    1. show global variables like '%innodb_flush_log_at_trx_commit%'
    2. set global innodb_flush_log_at_trx_commit=0;

    innodb_autoextend_increment

    innodb_autoextend_increment 默认值是8M,可以设置成128M

    此配置项作用主要是当tablespace 空间已经满了后,需要MySQL系统需要自动扩展多少空间,每次tablespace 扩展都会让各个SQL 处于等待状态。增加自动扩展Size可以减少tablespace自动扩展次数。

    1. show global variables like '%innodb_autoextend_increment%'
    2. set global innodb_autoextend_increment = 128;

    innodb_log_buffer_size

    innodb_log_buffer_size默认值是1M,可以设置成64M

    此配置项作用设定innodb 数据库引擎写日志缓存区;将此缓存段增大可以减少数据库写数据文件次数。

    1. show global variables like '%innodb_log_buffer_size%'
    2. set global innodb_log_buffer_size = 1024*1024*64;

    innodb_log_file_size

    innodb_log_file_size 默认值是48M,可以设置成128M

    1. show global variables like '%innodb_log_file_size%'
    2. set global innodb_log_file_size = 1024*1024*128;

    innodb_write_io_threads & innodb_read_io_threads 

    innodb_write_io_threads & innodb_read_io_threads  默认值4,允许值的范围是1~64,建议根据服务器核心数进行修改,8核就设置成8。

    1. show global variables like '%innodb_write_io_threads%'
    2. set global innodb_write_io_threads = 8;
    3. show global variables like '%innodb_read_io_threads%'
    4. set global innodb_read_io_threads = 8;

    innodb_io_capacity & innodb_io_capacity_max

    innodb_io_capacity & innodb_io_capacity_max 默认是200,2000,可以调整成2000,10000。

    1. show global variables like 'innodb_io_capacity%'
    2. set global innodb_io_capacity = 2000;
    3. set global innodb_io_capacity_max = 10000;

  • 相关阅读:
    记一次flink postgres cdc丢数据
    营收含“果”量下降,十年前的布局能否助歌尔在今朝突围?
    CDH大数据平台 ModuleNotFoundError: No module named ‘MySQLdb‘
    【面试题】最新2023前端面试题
    M1 安装CentOS 8安装完成后无法联网怎么办?
    【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-ChapterA-bash 命令快速指南
    【Java集合类面试十八】、ConcurrentHashMap是怎么分段分组的?
    LLVIP数据集下载
    实验七 Python面向对象程序设计
    算法day 14 第六章二叉树
  • 原文地址:https://blog.csdn.net/weixin_38959210/article/details/125444945