其實還不是很懂,原因是沒有經歷乙個表設計的過程,先有個印象吧!!
索引的優點:
1、通過建立唯一索引,保證資料庫表每行資料的唯一性
2、大大加快資料查詢速度
3、在使用分組和排序進行資料查詢時,可以顯著減少查詢中分組和排序的時間
索引的缺點:
1、維護索引需要耗費資料庫資源
2、索引需要占用磁碟空間,索引檔案可能比資料檔案更快達到最大檔案尺寸
3、當對表的資料進行增刪改的時候,因為要維護索引,速度會受到影響
索引的分類:
1. 普通索引 alter table `table_name` add index index_name ( `column` )
普通索引是可以出現資料重複的
2. 唯一索引 alter table `table_name` add unique ( `column` )
唯一索引不允許出現重複
3. 主索引 alter table `table_name` add primary key ( `column` )
主索引是一種特殊的唯一索引,不允許有空值
必須為主鍵欄位建立乙個索引,這個索引就是所謂的「主索引」。主索引與唯一索引的唯一區別是:前者在定義時使用的關鍵字是primary而不是unique
4. 外來鍵索引alter table `table_name` add fulltext ( `column`)
如果為某個外來鍵字段定義了乙個外來鍵約束條件,mysql就會定義乙個內部索引來幫助自己以最有效率的方式去管理和使用外來鍵約束條件
5. 復合索引alter table `table_name` add index index_name ( `column1`, `column2`, `column3` )
索引可以覆蓋多個資料列,如像index(columna,columnb)索引。這種索引的特點是mysql可以有選擇地使用乙個這樣的索引。如果查詢操作只需要用到columna資料列上的乙個索引,就可以使用復合索引index(columna,columnb)。不過,這種用法僅適用於在復合索引中排列在前的資料列組合。比如說,index(a,b,c)可以當做a或(a,b)的索引來使用,但不能當做b、c或(b,c)的索引來使用
資料庫 資料庫索引
索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...
資料庫mysql索引 資料庫 mysql索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...
資料庫索引
索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...