您好,登錄后才能下訂單哦!
索引:是一種按照特定存儲格式存儲的特殊數據,用于SQL查詢 索引的類型: 聚集索引和非聚集索引:數據是否和索引存儲在一起 主鍵索引和輔助索引:索引是否在主鍵之上 左前綴索引和覆蓋索引:是否只截取左邊的前幾個字節最為索引,mysql默認使用左前綴索引 左前綴索引的存儲: 在指定索引的字段中截取左邊的前幾個字節生成索引,并對索引進行排序處理,將排完序的索引進行分組管理 并生成源數據,當用戶以索引字段作為查詢條件時,mysql去掃描元數據,并定位到元數據對應數據的上 索引管理: CREATE INDEX 索引名 ON 表名 (字段名); #創建索引 SHOW INDEX FROM 表名; #查看指定表的索引 DROP INDEX 索引名 ON 表名; #刪除索引 注意:索引沒必要修改,因為沒有意義 示例: USE mysql; #使用mysql庫 CREATE INDEX test_index ON user (User); #在user表的User字段索引 SHOW INDEX FROM user; #查看索引是否創建成功 EXPLAIN SELECT * FROM user WHERE User='root'\G; #使用EXPLAIN查看命令的執行過程(不會真正的去執行) #使用索引的查詢過程 id: 1 #編號 select_type: SIMPLE #查詢類型 SIMPLE:表示簡單查詢 table: user #查詢關聯到的表 type: ref #訪問類型 possible_keys: test_index #可能會用到的索引 key: test_index #最終用到的索引 key_len: 48 #在索引中使用的字節數 ref: const #一對一查詢 rows: 3 #為找到目標行而讀取的行 Extra: Using where #額外信息 常見訪問類型:ALL:全表掃描 index:根據索引進行全表掃描 range:范圍掃描 ref:更具索引返回表中匹配的值所在的行 const/system:直接返回單行(一般基于主鍵查詢) #沒有使用索引的查詢過程 id: 1 select_type: SIMPLE table: user type: ALL #全表掃描查詢 possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 6 Extra: Using where 視圖管理: 視圖也叫虛表,是由select語句生成,mysql的視圖較為不穩定,不建議使用 CREATE VIEW 視圖名 AS select語句 #創建視圖 DROP VIEW 視圖名 #刪除視圖 示例: CREATE DATABASE mydb; #創建測試數據庫 USE mydb; #使用測試數據庫 CREATE VIEW test_view AS SELECT User,Host,Password FROM mysql.user; #創建視圖 SELECT * FROM test_view; #查看視圖內容 SHOW TABLE STATUS LIKE 'test_view'\G; #查看視圖狀態 Name: test_view Engine: NULL Version: NULL Row_format: NULL Rows: NULL Avg_row_length: NULL Data_length: NULL Max_data_length: NULL Index_length: NULL Data_free: NULL Auto_increment: NULL Create_time: NULL Update_time: NULL Check_time: NULL Collation: NULL Checksum: NULL Create_options: NULL Comment: VIEW 注意:視圖的修改其實是修改基表的數據(慎用)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。