数据库 ---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.数据库集群

  在物理上创建多个数据库

3.数据库读写分离

posted @ 2019-01-22 20:51  TNTsc  阅读(236)  评论(0编辑  收藏  举报