1. 程式人生 > >MySQL索引 / 備份 / 權限設置

MySQL索引 / 備份 / 權限設置

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索引 / 備份 / 權限設置