33.mysql數據庫學習

1.   utf8  utf8mb4

參考:http://www.javashuo.com/article/p-soxjxrqo-mz.htmlhtml

https://blog.csdn.net/weixin_42785557/article/details/83512138mysql

https://www.cnblogs.com/xingxia/p/database_mysql_character.htmlsql

 

應用:mysql索引

 

2. varchar   設置長度

 

 

3.mysql 引擎

這裏戰時只說: InnoDB和MyIsam測試

              https://blog.csdn.net/summerzbh123/article/details/81201839spa

      存儲結構:.net

            相同點:都是B+Tree設計

         什麼是B+Tree:   https://www.jianshu.com/p/486a514b0ded3d

         不一樣點: htm

             由於: 存儲的結構不一樣  innoDB:是將數據與索引放在一塊兒(聚合索引), MyIsam:數據與索引分開(非聚合索引

                        http://www.javashuo.com/article/p-uvjtmusv-be.html

            

             上面緣由致使:

            

 

      

 

 

4.索引

https://www.cnblogs.com/zuochuang/p/8184349.html

mysql索引類型和索引方法

 

4.1 索引類型

4.2 單索引 及聯合索引

4.2.1 建立 sql語法


-- 單一索引
create index singoleindex on t_user (name) 


-- 聯合索引
create index moreIndex on t_user (name,age,other) 

 

 

 

4.2.2 聯合索引應用:


-- 單一索引
create index singoleindex on t_user (name) 


-- 聯合索引
create index moreIndex on t_user (name,age,other) 

-- 1. key_len 爲null 表示沒有走索引
explain select * from t_user

-- 2.走索引了  33=10*3+2+1  10表示varchar長度  3:utf-8格式  2:非char類型佔用  1:數據能夠爲null
explain select * from t_user where name ='張三'

--  3. 索引失效  緣由數據類型不對
explain select * from t_user where name =1

--  4. 索引位置不對   第一索引 沒有被用索引其餘索引失效
explain select * from t_user where age =15

-- 5.第一個索引不能少  跟順序有關
explain select * from t_user where name ='張三' and age =15

-- 6. 跳過中間因此 也有效   Using index condition
explain select * from t_user where name ='張三' and other='學生'


-- 7。索引 設計的幾個原則
-- 7.1 範圍最後 原則

  explain select * from t_user where name ='張三' and age >=15
-- 7.2 最左邊原則  2中的列子
-- 8.索引覆蓋  
-- 8.1索引失效
explain select * from t_user
-- 索引覆蓋 
  explain select t.name,t.age from t_user t
-- 9. like 查詢索引狀況
-- 9.1 索引失效 由於沒有用頭索引
explain select * from t_user where other like '%學生%'

-- 9.2  索引沒有失效  可是like 字段並無生效
explain  select * from t_user where name ='張三' and other like '%學生%' 

-- 9.3 測試單索引的like   後%生效   其餘不生效   除非發生索引覆蓋
-- 索引失效
explain select * from t_user where other like '%學生%'
-- 索引可與使用
explain select * from t_user where other like '學生%'

 

(1) key_len 爲null 表示沒有走索引

(2)

(3) 

 

(4)

(5) 

 

 

(6)

 

(7)

(8)

(9)

咱們首先新建  單索引 以下:

 

 

4.3 Extra 的表明含義

https://www.cnblogs.com/wy123/p/7366486.html

 

 

 

4.4 key_len 計算

https://www.cnblogs.com/xuanzhi201111/p/4554769.html

相關文章
相關標籤/搜索