1/mysql 的邏輯分層
2/引擎層:
innodb : 默認引擎 事務優(yōu)先 適合高并發(fā) 行鎖
myisam : 性能優(yōu)先 表鎖
查詢語句:show engines
3/sql 解析過程
4/索引圖解 索引默認是B樹結構
三層B樹示意圖
5/索引
優(yōu)勢:1/降低io使用率提高查詢效率
2/降低CPU使用率(order by B樹索引本身已經(jīng)排好序了)
弊端:1/索引本身很大
2/不適用情況:數(shù)據(jù)量小 經(jīng)常更新的數(shù)據(jù) 很少使用的數(shù)據(jù)
3/將降低增刪改的效率
索引分類:
單值索引:單列 一個表可以有多個單列索引
唯一索引:不能重復 比如id 可以為null
主鍵索引:不能重復 比如id 不可以為null
復合索引:多個列夠成的索引
創(chuàng)建查詢刪除索引:
6/sql優(yōu)化
sql 前加 explain
id: 編號
id相同:從上到下順序執(zhí)行 減少笛卡爾積中間數(shù)值
id不同:先執(zhí)行由大到小執(zhí)行
id有相同有不同 大-->小 形同的 上-->下順序執(zhí)行
select_type:查詢類型
type:索引類型