赞
踩
select count(*) from xxx;
无论执行多少次,查询速度基本稳定在10-12秒之间
[mysqld]
# innodb_log_files_in_group 和innodb_log_file_size 8.0之后废弃
# 用innodb_redo_log_capacity代替,默认100M,最大128GB
innodb_redo_log_capacity=1G
# 三者之间的关系
# innodb_buffer_pool_size / innodb_buffer_pool_chunk_size = innodb_buffer_pool_instances
# win32系统: innodb_buffer_pool_chunk_size 默认为128M
# 其他系统: innodb_buffer_pool_size 小于1G时,innodb_buffer_pool_instances 默认为1
# 大于1G时。innodb_buffer_pool_instances 默认为8,取值范围 1-64
innodb_buffer_pool_chunk_size=512M
innodb_buffer_pool_instances=8
innodb_buffer_pool_size=4G
show engine status\G
查看buffer pool中描述(buffer pool的数量是 上面的instances数量对应)show status like '%buffer%';
查看#从内存读取的大小
Innodb_buffer_pool_read_requests
#无法满足内存读取,从磁盘读取的大小
Innodb_buffer_pool_reads
#计数器,计算innodb需要创建页面的次数,大于0时,考虑buffer_size太小
Innodb_buffer_pool_wait_free
buffer命中率 = innodb_buffer_pool_read_requests / (innodb_buffer_pool_read_requests + innodb_buffer_pool_reads) * 100
根据4,5步骤的情况,修改了innodb_buffer_pool_size
结果查询时,第一次时长为10多秒,后续每次查询稳定在0.01秒,和之前比,相关与多了一次缓存?
我对比了下openEuler系统上同样数据库的同样操作,第一次不到2秒,后续每次0.01秒
对比了下innodb的所有参数,除过上述提到的buffer_pool的三个参数被修改过,其他都一致
有那个英雄路过时,麻烦留言指点下问题出在哪里
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。