mysql优化
一、配置文件
1、查看修改字符集
1)、查看:show variables like 'character%'
show variables like '%char%'
2)、编辑:vi /etc/my.cnf
2、mysql配置文件
1)、二进制日志log-bin 主从复制
2)、错误日志log-err,
3)、查询日志log
3、mysql数据文件
frm文件:存放表结构
myd文件:存放表数据
myi文件:存放表索引
配置log-bin和错误日志log-err的目录
4、两种引擎
5、性能下降SQL慢,执行时间长,等待时间长分析
1、查询语句写的烂
2、索引失效
3、关联查询太多join
4、服务器调优及各个参数设置(缓冲,线程数等)
6、tinyint int bigint tinyint(1)和tinyint(11)
7、索引分聚集和非聚集,
聚集:一张表只能有一个
非聚集:需要二次回表
8、b+树索引,b树索引,哈希索引,innodb索引的用的是b+树索引,自适应哈希索引
9、为什么innodb不用b树索引?
1、b树相对于b+树,叶子节点之间没有联系,磁盘io的时候,指针寻道时间开销比较大,一次性会选择读取一片空间,叶子节点连到一起的话符合磁盘读取的方式
2、b+树存放的是key值,b树非叶子节点也会存放datch,相对来说表更大,占用空间更大,b+树每个节点里存放的数据越多,树高越低,