索引
就相當于對指定的列進行排序,排序有利于對該列的查詢,可以大大增加查詢效率。建立索引也是要消耗系統資源,所以索引會降低寫操作的效率。 主鍵,唯一,聯合、全文都屬于索引。
唯一索引:可以一個表中可以有多個,而且允許為空,列中的值唯一;
**主鍵索引:
**屬于唯一索引(是一種特殊的唯一索引,不能有空值),且一個表只能有一個主鍵,主鍵列不允許空值; **聯合索引(組合索引)
**:多個字段的多條件查詢多使用,為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則。
全文索引:僅可用于 MyISAM 表,針對較大的數據,生成全文索引很耗時好空間。
理論講完了,如果不舉出些例子,相信你依然是蒙b的,那我們舉例如下,讓你徹底搞清楚他們之前的區別:
PRIMARY KEY(主鍵索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)
INDEX(普通索引) ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
FULLTEXT(全文索引) ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
組合索引 ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )