索引是一種能夠幫助我們在資料庫中快速定位資料的一種資料結構
優點類似大學圖書館建書目錄索引,提高資料檢索的效率,降低資料庫的io成本通過索引列對資料進行排序,降低資料排序成本,降低了cpu的消耗。
可以加速表和表之間的連線 。
缺點實際上索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄,所以索引也是要佔記憶體空間的雖然索引大大提高了查詢速度,同時都會降低更新表的速度,如對表進行insert,update和delete。
因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案每次更新新增了索引的字段,都會調整因為更新所帶來的鍵值變化後的索引資訊 。
常規索引快速定位資料
主鍵索引就是我們資料庫的主鍵, 主鍵索引不允許重複, 不允許空值。
唯一索引和主鍵索引類似, 但是允許有空值
復合索引將資料庫表中的多個字段聯合起來建立乙個索引
全文索引
建立索引更改alter table tablename add index indexname (columnname)alter table area add index index_name (area);
刪除檢視索引'紅橋區'
# 分析 sql語句的執**況
無索引情況下建立索引執行查詢直接定位到該資料
資料庫索引,是資料庫管理系統中乙個排序的資料結構,以協助快速查詢、更新資料庫表中資料。索引的實現通常使用 b 樹及其變種 b+樹
MySQL聚集索引詳解 mysql 索引詳解
直接起飛 1.什麼是索引?索引是幫助mysql高效獲取資料的排好序的資料結構。2.索引的資料結構?為什麼選這種結構?假設我們現在這裡有一張表 以下情況都是innodb儲存引擎 idnumber 如果mysql沒有索引這種結構,那麼我們如果查詢number為51的這行記錄,那麼mysql就要從上往下掃...
MySQL聚集索引詳解 mysql索引詳解
資料結構分,有b tree索引 b tree 雜湊索引 r tree索引等。按資料塊的順序和索引節點的邏輯順序是否一致可以分為聚集索引和非聚集索引。聚集索引由於物理塊連續,在範圍掃瞄的時候可以減少磁頭尋道時間,因而比非聚集索引高效。幾種索引型別的選擇 primary 主鍵索引。unique 唯一索引...
mysql 索引定義 MySQL 索引詳解
普通索引 唯一索引和主索引 1.普通索引 普通索引 由關鍵字key或index定義的索引 的唯一任務是加快對資料的訪問速度。因此,應該只為那些最經常出現在查詢條件 where column 或排序條件 order by column 中的資料列建立索引。只要有可能,就應該選擇乙個資料最整齊 最緊湊的...