数据库索引及优化笔记

数据库索引及优化笔记

月光魔力鸭

阅读 251 喜欢 0 数据库索引设计 索引优化

内存优化

key_buffer_size

一般的MyISAM 数据库建议至少1/4的可用内存分配给 key_buffer_size

key_buffer_size = 4G
-- 临时设置,单位字节
set global key_buffer_size=1073741824

是否合理计算公式:

1 - ((key_blocks_unused * key_cache_block_size) / key_buffer_size ) 

使用率在80%左右比较合适。

innodb_buffer_pool_size

在专有数据库服务器上,可以将80%的物理内存分配给他。 mysql 8增加了一个自动分配内存的参数 innodb_dedicated_server ,如果当前服务器只有一个实例,并设置为了1 。mysql会根据物理机自动分配,规则如下:

# 物理内存小于1GB
innodb_buffer_pool_size=128MB
innodb_log_file_size=48MB
innodb_flush_method=O_DIRECT_NO_FSYNC

# 物理内存为 1GB ~ 4GB
innodb_buffer_pool_size=物理内存*0.5
innodb_log_file_size=128MB
innodb_flush_method=O_DIRECT_NO_FSYNC

# 物理内存 大于 4GB
innodb_buffer_pool_size=物理内存*0.75
innodb_log_file_size=1024MB
innodb_flush_method=O_DIRECT_NO_FSYNC

innodb_log_buffer_size

如果存在大量的茶润、更新操作,可以增大 innodb_log_buffer_size 来减少日志写磁盘操作。 默认16MB 。 需要关闭实例,清掉日志后再设置??这部分需要仔细查阅。

max_connections 提高并发连接

thread_cache_size

加快连接数据库的速度,控制mysql缓存客户服务现成的数量。

计算 threads_created/connections ,如果越接近1 ,则命中率越低,需要增加该值。

转载请注明出处: https://chrunlee.cn/article/db-index-prefect-note.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
最近上传github代码越来越慢了,不晓得哪里问题,今天传了俩小时没成功,决定全部迁移到gitee上。
虽说docker已经大名鼎鼎,但在之前一直都未上手使用过,即便是前一阵子想挂下京东的京豆(使用docker)也给耽搁了,一直的感觉就是这货应该跟vm没啥区别吧,应该就是更方便更好用更适合开发者。
对于视频,音频等的处理,使用ffmpeg还是很方便的,但是由于命令繁多,又不好记忆,这里整理下个人常用的几个命令,后续方便查找。
系统为:win10 家庭中文版,安装vmware10 ,总是报错提示:this product may ........ hyper-v .
最近居家的时候看电影发现啥啥都不能看,不是这个应用没会员,就是那个应用没资源.. 愁煞我,想起之前有个NAS可以解决,但是自己又没有对应系统,只有一个linux,决定研究一下。
在写前端页面的时候,反复操作的是切换,写完代码,切换到浏览器,然后刷新,查看效果,不合适,然后再切换回编辑器,然后修改,这样反复操作。livereload 释放了双手,自动刷新(尤其是双屏的同学特别友好)
日常使用`sublime text3`的时候,每次一打开都会提示让下载最新版本,可给愁死了。那么如何取消自动更新的提示呢?