mysql配置提高数据插入效率

innodb_buffer_pool_size

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

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

show global VARIABLES like 'innodb_buffer_pool_size'

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:每一次事务提交或者事务外的指令都需要把日志写入硬盘,此过程消耗时间较长;

show global variables like '%innodb_flush_log_at_trx_commit%'

set global innodb_flush_log_at_trx_commit=0;

innodb_autoextend_increment

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

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

show global variables like '%innodb_autoextend_increment%'

set global innodb_autoextend_increment = 128;

innodb_log_buffer_size

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

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

show global variables like '%innodb_log_buffer_size%'

set global innodb_log_buffer_size = 1024*1024*64;

innodb_log_file_size

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


show global variables like '%innodb_log_file_size%'

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。

show global variables like '%innodb_write_io_threads%'

set global innodb_write_io_threads = 8;


show global variables like '%innodb_read_io_threads%'

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。

show global variables like 'innodb_io_capacity%'

set global innodb_io_capacity = 2000;
set global innodb_io_capacity_max = 10000;

猜你喜欢

转载自blog.csdn.net/weixin_38959210/article/details/125444945
今日推荐