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索引 / 备份 / 权限设置的主要内容,如果未能解决你的问题,请参考以下文章