MySQL索引 / 備份 / 權限設置
阿新 • • 發佈:2019-01-22
add mil 匹配 查看 參數 str use user size
索引
索引的樹形結構,快速找到對應的葉子節點,從硬盤全部讀取到內存
添加索引:
添加主鍵索引(聚集索引):
創建的時候添加:添加索引的時候要註意,給字段裏面數據大小比較小的字段添加,給字段裏面的數據區分度高的字段添加
聚集索引的添加方式(每個表中有且只有一個,在設計數據庫時添加,效率高)
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\劉娜\Desktop\python\bf\db1.sql
恢復備份:劉娜>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 db1 < C:\Users\劉娜\Desktop\python\bf\db1.sql
-B參數(直接恢復,不需要重新創建庫)
多個庫備份,直接空格連接即可
備份:劉娜>Mysqldump -h 127.0.0.1 -P 3306 -u root -p12345 -B db1 db2 > C:\Users\劉娜\Desktop\python\bf\db1.sql
恢復備份:劉娜>Mysql -h 127.0.0.1 -P 3306 -u root -p12345 < C:\Users\劉娜\Desktop\python\bf\db1.sql
創建用戶,指定權限(權限管理)
1. 創建用戶
2. 刪除用戶
Drop user
3. 修改用戶
Rename user
4. 修改密碼
5. 修改權限
1) 查看權限
2) 授權
3) 取消權限
Flush privileges; # 操作完刷新生效
MySQL索引 / 備份 / 權限設置