索引的目的
當資料庫的資料量很大的時候,查詢就變得很慢,索引的出現就是為了高效率的查詢。
索引的原理
索引就類似於查字典時的目錄。
索引的使用
檢視索引
show index from 表名;
建立索引
如果指定欄位是字串,需要指定長度,建議長度與定義欄位時的長度一致。
字段型別如果不是字串,可以不填寫長度部分。
create index 索引名稱 on 表名(欄位名稱(長度))
刪除索引
drop index 索引名稱 on 表名;
適合建立索引的情況
• 主鍵自動建立索引
• 頻繁作為查詢條件的字段應該建立索引
• 查詢中與其他表關聯的字段,外來鍵關係建立索引
• 在高併發的情況下建立復合索引
• 查詢中排序的字段,排序欄位若通過索引去訪問將大大提高排序速度 (建立索引的順序跟排序的順序保持一致)
不適合建立索引的情況
• 頻繁更新的字段不適合建立索引
• where條件裡面用不到的字段不建立索引
• 表記錄太少,當表中資料量超過三百萬條資料,可以考慮建立索引
• 資料重複且平均的表字段,比如性別,國籍
資料庫 資料庫索引
索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...
資料庫mysql索引 資料庫 mysql索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...
資料庫索引
索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...