数据库索引及优化笔记

数据库索引及优化笔记

月光魔力鸭

阅读 252 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
虽说docker已经大名鼎鼎,但在之前一直都未上手使用过,即便是前一阵子想挂下京东的京豆(使用docker)也给耽搁了,一直的感觉就是这货应该跟vm没啥区别吧,应该就是更方便更好用更适合开发者。
最近一段时间(大约一两周内) windows下安装的mysql8 已经连续两次连接失败,报错10061,同时mysql服务启动失败了,第一次还解决了,第二次怎么都无法启动了
最近入手一台小主机,把自己剩余的硬盘都加上去了,想着做个私有云..使用了owncloud,类似的文章很多,不过各有各的坑,当然我这个也肯定有坑,主要是各自的环境还不一样。
如果您由于各种各样的原因,不幸丢失了数据、想恢复数据,您在互联网上搜索解决办法,会发现,DiskGenius这款软件是排名第一的解决方案
系统为:win10 家庭中文版,安装vmware10 ,总是报错提示:this product may ........ hyper-v .
好久配置了,最近重新安装了一回,有忘了.. 果然还是得记录下来啊,起码以后不用到处找了对吧。
微信dat是用什么软件打开?微信dat是什么?如何查看呢? 微信的dat文件是微信用于缓存PC端微信的图片,然后对图片进行了加密的处理。所以是可以删除的,有些朋友data文件夹下有十几G的,都是可以删除的,但是最好确保这些文件都已经没有用处了再进行删除。 下面给大家介绍一个能够在线解码微信dat的网站。
前段时间弄了下微信的dat图片的解码,后续有同学问数据库的解码怎么弄.. 当然,后边陆陆续续的看了下,加上住院乱七八糟的事情,一直没处理,最近几天处理了下,发现微信数据库的数据格式是真的麻烦...