MySQL索引 / 备份 / 权限设置

Posted gracenana

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL索引 / 备份 / 权限设置相关的知识,希望对你有一定的参考价值。

索引
索引的树形结构,快速找到对应的叶子节点,从硬盘全部读取到内存
添加索引:
 添加主键索引(聚集索引):
     创建的时候添加:添加索引的时候要注意,给字段里面数据大小比较小的字段添加,给字段里面的数据区分度高的字段添加
聚集索引的添加方式(每个表中有且只有一个,在设计数据库时添加,效率高)
Create table t1(
     Id int primary key);
Create table t2(
     Id int
   Primary key(id)   
);
创建完表之后添加
Alter table t1 add primary key(id);
删除 Alter table t1 drop primary key;
 
 
辅助索引:查询时为用到主键索引对应的字段,为了加速查询采取辅助索引
 
唯一索引
1)Create table t1(
     Id int unique);
2)Create table t2(
     Id int
   unique key(id)    
);
 
3)Alter table s1 add unique key u_email(email);
删除 1)alter table s1 drop index u_email;
     2)drop index uni_name on t1;
普通索引
1)Create table t1(
     Id int,
     Index index_name(id)
);
2)Create index index_name on s1(id);
 
3)Alter table s1 add index index_s1(name);增加辅助索引
删除: 1)drop index index_s1 on s1
2)Alter table s1 drop index u_email
 
保证查询速度,最好在数据上进行4则运算,不要再字段上进行运算
 
Sql优化神器explain
Explain + 查询语句 ; (预执行)
返回语句的查询情况(rows…)
d
联合索引与覆盖索引
和普通索引享同,就是加多个索引字段(最左匹配特性)
如:create table t1(
                 Id int,
                 Name char(10),
          Unique key index_name(id,name)
); 
将数据大小小的,区别度高的字段,放到最前面
Where id=10,name=’xxx’;
Where name = ‘xxxx’;用不到联合索引
 
 
数据备份(逻辑备份,物理备份)
备份:刘娜>mysqldump -h 127.0.0.1 -P 3306 -u root -p12345 db1 > C:Users刘娜Desktoppythonfdb1.sql 
 
恢复备份:刘娜>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 db1 < C:Users刘娜Desktoppythonfdb1.sql 
 
-B参数(直接恢复,不需要重新创建库)
多个库备份,直接空格连接即可
备份:刘娜>Mysqldump -h 127.0.0.1 -P 3306 -u root -p12345 -B db1 db2 > C:Users刘娜Desktoppythonfdb1.sql  
 
恢复备份:刘娜>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 < C:Users刘娜Desktoppythonfdb1.sql   
 
创建用户,指定权限(权限管理)
1.    创建用户
2.    删除用户
Drop user
3.    修改用户
Rename user
4.    修改密码
5.    修改权限
1)     查看权限
2)     授权
3)     取消权限
Flush privileges;   # 操作完刷新生效
 

以上是关于MySQL索引 / 备份 / 权限设置的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的权限设置和备份还原

mysql 备份用户给啥权限

MySQL创建用户+授权+备份

MySQL创建用户+授权+备份

mysql权限操作

mysql权限和索引