数据库 ---5 索引 创建用户及授权 数据备份
一.索引
1.索引的数据结构( B+树 类型)
B+树 的性质 a.索引字段要尽量的小
b.索引的最左匹配特性
1.聚焦索引 (主键索引) primary key(PRI)
加速查找 不为空 不重复
①创建时添加
create table t1 ( id int primary key,.....);
create table t1 (id int ,primary key(id) );
②创建完之后添加
alter table 表名 add primary key(id);
③删除主键索引
alter table 表名 drop primary key;
2.辅助索引 (普通索引)(MUL)
加速查找
直接查找 索引字段时 既是 覆盖索引
查找其他字段时 为 回表操作(先找到主索引和辅助索引字段
再按照主索引方式查找)
①创建时添加
create table t1(id int,index index_name(id);
②创建完之后添加
alter table s1 add index index_name(id);
create index index_name on s1(id);
③删除
alter table s1 drop index u_name;
drop index 索引名 on 表名字;
3.唯一索引 unique
加速查找 不重复
①创建时添加
create table t1(id int unique,...);
create table t1(id int,unique key uni_name(id) );
②创建之后添加
alter table s1 add unique key u_name(id);
③删除
alter table s1 drop index u_name;
4. 联合索引
将 要联合的字段放在一起
5.索引未命中情况
①1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:
>、>=、<、<=、!= 、between...and...、like、
②2 尽量选择区分度高的列作为索引,
区分度的公式是count(distinct col)/count(*)
③ 四则运算 写在后面 不可在字段上运算
④ and 和 or
⑤ 最左前缀匹配原则
建立索引时将关于范围比较的字段放在后面 ,查询快
6.查询优化神器 ——explain (预先编辑)
二.创建用户和授权
三.数据库备份和还原
注:是在cmd 窗口下执行的语句,而不是mysql中
1。库备份
①.导出:
导入:
②. 加上 -B参数
导出:
导入:
③。多个库备份
a.会导出一个文件
b.多个时可用for循环
2.表备份
①备份单个表
②备份多个表
四.其他:
1. 高可用 (自动切换数据库技术)
①heartbeat + drbd 技术
② keepalive + lvs 技术
③ k8s + docker 技术
2.数据库集群
在物理上创建多个数据库