我的Mysql學習筆記

一、爲什麼要使用索引?

使用索引查找數據,能夠避免全表掃描,提升查找效率。

二、什麼樣的信息能成爲索引?

主鍵、唯一鍵等能讓數據具備一定區別性的字段

三、索引的數據結構?

主流:B+ tree,小衆:hash bitMap(oracle)

四、密集索引和稀疏索引的區別?

密集索引:每個搜索碼值都對應一個索引值(索引跟數據一同存儲)
稀疏索引:只爲某些搜索碼值對應索引值(索引跟數據分開存儲)

五、mysql慢查詢,處理sql語句執行速度慢問題

跳轉鏈接

六、聯合索引最左匹配原則

最左前綴匹配原則,非常重要的原則, mysql會一直向右匹配直到遇到範圍查詢(>、<、between, like)就停止匹配,比如a =3 and b=4 and c> 5 and d=6如果建立(a,b,c,d)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引則都可以用到, a,b,d的順序可以任意調整。
=和in可以亂序,比如a =1 and b=2 and c=3建立(a,b,c)索引可以任意順序, mysql的查詢優化器會幫你優化成索引可以識別的形式。

七、MyISAM與InooDB

MyISAM:表鎖,聚集索引、(查詢高,沒有事物,count(*))
InooDB:行鎖(默認)、表鎖,非聚集索引、(增刪改查頻繁、可靠性高、支持事物)

八、事物隔離級別,及併發訪問問題

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章