explain select * from xscj.xsqk xs join xscj.xs_kc kc
where xs.學號=kc.學號;
結果:
對整個過程進行解釋:
一、select_type : 查詢型別,常見的值
[******:簡單表,不使用表連線或子查詢。
primary : 主查詢,外層的查詢。
union 第二個或者後面的查詢語句。
subquery : 子查詢中的第乙個select]
二、table
所查詢的表
三、查詢型別,mysql在表中找到所需行的方式,或者叫訪問型別
常見的訪問型別:
all 、 index 、 range 、 ref 、 eq_ref 、 const,system 、 null
1,type=all,全表掃瞄,
2,type=index,便利整個索引查詢索要匹配的行
3,type=range,索引範圍掃瞄整個表,>,>=,
4,type=ref,採用非唯一索引或者唯一索引的字首掃瞄,返回匹配某個單獨值的記錄行。ref還經常出現在join操作中。
5,type=eql_ref,類似於ref,區別就在使用的索引是唯一索引,對於每個索引鍵值,表中有一條記錄匹配;簡單來說,說是多表連線中使用 主建或唯一健作為關聯條件
6,type=const/system 單錶中最多有乙個匹配行。主要用於比較primary key [主鍵索引]或者unique[唯一]索引,因為資料都是唯一的,所以效能最優。條件使用=。
四、possible_keys : 可能使用的索引列表
五、key : 實現執行使用索引列表
六、key_len : 索引的長度
七、ref : 顯示使用哪個列或常數與key一起從表中選擇行。
八、row : 執行查詢的行數,簡單且重要,數值越大越不好,說明沒有用好索引
九、extra: 該列包含mysql解決查詢的詳細資訊
b樹
b+樹
b+樹的每乙個非葉子節點存放索引,葉子節點每乙個存放資料,用鍊錶連線起來資料按照從小到大排序
詳細參考
資料庫 資料庫索引
索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...
資料庫mysql索引 資料庫 mysql索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...
資料庫索引
索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...