数据库索引及优化笔记

数据库索引及优化笔记

月光魔力鸭

阅读 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
记录下部署php项目的时候的经过,查了很多资料,最后才定出的这个,中间些许问题可能已经记不清楚了,趁着时间步长,赶紧回忆一下。
傅里叶啊傅里叶 要掐死你啦..
最近上传github代码越来越慢了,不晓得哪里问题,今天传了俩小时没成功,决定全部迁移到gitee上。
作为程序员或多或少会用到这部分,但是又不常用,这里简单记录下大神给讲解的小技巧。
这不是之前做了一个磁力小站么.. 发现之前好多记录都是重复的(不要问我怎么发现的),就删除下,感觉不难,但总是写不对.. 这里纯粹记下sql.
本来这是一个很小的事,按照邮箱设置来一下就OK了.. 可是我密码忘记了,死活重置不了,没办法,微信扫码吧,然后按照设置来又是不行,找了下度娘才行.. 我就纳闷了,这么大一企业,不能用点心么.. 还有昨天那个互联,愁死!
好久配置了,最近重新安装了一回,有忘了.. 果然还是得记录下来啊,起码以后不用到处找了对吧。
前段时间有问到一个网页去掉水印的问题,拿到地址一看..dom