centos mysql 优化 第十三节课

centos mysql  优化  第十三节课

MySQL索引

主键值不能重复,也不能是NULL
unique key + not null 业务主键用唯一索引代替

案例:某InnoDB表,没有自增列主键,使用一段时间后,产生碎片,重整表空间后,从13G变成了9G
重整表空间的3种方法
alter table xx engine=innodb;
optimize table xx;
create primary key on id 加主键聚集索引

mysql5.6之后依然无法online ddl做 加主键聚集索引



前缀索引
部分索引原因
char/varchar太长全部做索引,效率太差,存在浪费
blob/text类型不支持整列作为索引,所以使用前缀索引

统计平均值
遵循2/8原则

语法:alter table t add index k1 ( username(9) );
username字段的前9个字符

部分索引选择建议
最小:3
最大:15
平均:8
count(distinct left(x, 9)) / total
count(distinct left(x, 8)) / total ≈ 60%
count(distinct left(x, 9)) / total ≈ 70%
count(distinct left(x, 10)) / total ≈ 85%
count(distinct left(x, 11)) / total ≈ 95%

最大百分比占80%上的,就用作前缀索引

缺点
无法利用前缀索引完成排序

show table status; 查看表总记录数
叶金荣(4700963) 21:10:35
slow log
init-file



外键约束
为关联字段创建外键
所有的键都必须唯一
避免使用复合键
外键总是关联唯一的键字段



全文索引
5.6前 只支持myisam引擎
5.5之后,支持innodb引擎
5.7 以前中文支持很差
优先使用lucene\solr\shpinx



索引管理

create index idx on t(c1) using BTREE
create index idx on t(c1) using HASH
HEAP/MEMORY表才能使用hash索引

pt-index-usage原理:查一下slow log或general log的执行计划,给出建议,只是建议



索引如何提高sql效率的

倒数第二条

a表是驱动表
b表是被驱动表
然后以a表的d字段为排序并且有索引,那么无法利用d字段的索引完成排序
a join b

人为指定驱动表有风险,可能导致出来的结果集不一样

a. from之前
b. where之前
c. xxx之前
d. t1之前
e. xxx之后
f. xxx之前
g .t1之后
g和b
from xxx t1 use index(k1) where



myisam索引特点
myisam主键索引

myisam辅助索引

innodb主键索引

innodb辅助索引

myisam和innodb索引对比



myisam是可以用NFS作为共享文件系统,两个实例同时读一个数据文件
一个实例读写,另一个实例只读,做高可用,myisam文件可以多个进程打开myisam文件句柄

f

时间: 2024-10-26 16:33:24

centos mysql 优化 第十三节课的相关文章

centos mysql 优化 第二十三节课

centos mysql  优化  第二十三节课 f

centos mysql 优化 第十八节课

centos mysql  优化  第十八节课 f

centos mysql 优化 第二十节课

centos mysql  优化  第二十节课 f

centos mysql 实战 第二十三节课

f

centos mysql 实战 第十三节课

Xtrabackup 1. innobackupex 怎么进行备份 基本使用命令的介绍2. innobackupex备份原理是什么 LSN介绍 数据页合并3. innobackupex对于多种存储引擎怎么实现备份数据一致性 Percona公司推出的 yum 安装或rpm安装https://www.percona.com/doc/percona-xtrabackup/2.4/installation/yum_repo.htmlyum install http://www.percona.com/d

centos mysql 优化 第十九节课

centos mysql  优化  第十九节课 f

centos mysql 优化 第十六节课

centos mysql  优化  第十六节课 f

centos mysql 优化 第二十四节课

centos mysql  优化  第二十四节课 f

centos mysql 优化 第十五节课

centos mysql  优化  第十五节课 f