邏輯架構:
1、連接層
2、服務層
3、引擎層(插拔式)
4、存盤層
存盤引擎:
常用的有:MyISAM、InnoDB
查看命令:show variables like '%storage_engine%';
索引:【單值、復合】
創建索引:create index idx_user_name(索引名字) on user(表名) (name)(欄位名)
洗掉索引:drop index idx_user_name(索引名字)on user(表名)
CREATE INDEX idx_article_ccv ON article(category_id,comments,views); DROP INDEX idx_article_ccv ON article;
定義:索引是一種資料結構(幫助MySQL高效的獲取資料)
目的:提高查詢效率,可以類比字典【可以理解為排好序的快速查找資料結構】
優勢:提高資料檢索效率,降低資料庫的iO成本;
劣勢:實際上索引也是一種表,它保存的索引欄位,是需要占空間的;會降低更新表速度,因為更新表時,MySQL不僅要保存資料還要保存索引檔案每次更新添加了索引的欄位
分類:


原理:二分查找,類似猜數字游戲【結構:B-TREE(Java主要)、hash、R-TREE】
什么時候該建索引:
如:where后面需要被查詢的欄位

什么時候不該建索引:
1、表記錄太少
2、經常增刪改的表或欄位
3、資料重復切分布平均的欄位【如果某個資料列包含許多重復的內容,為它建立索引就沒有很么實際的效果】
常見的join查詢:
一、SQL執行順序
1 FROM <left_table>
2 ON <join_condition>
3 <join_type>JOIN<right_table>
4 WHERE <where_condition>
5 GROUP BY <group_by_list>
6 HAVING <having_condition>
7 SELECT
8 DISTINCT<select_list>
9 ORDER BY <order_by_condition>
10 LIMIT <limit_number>

二、7種join圖

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/78561.html
標籤:MySQL
上一篇:資料庫系統概論--資料模型
