索引:是針對資料所建立的目錄.
作用: 可以加快查詢速度
負面影響: 降低了增刪改的速度.
索引的創建原則:
2:在where條件最頻繁的列上加.在重複度高的列上不加,比如性別男女;3:盡量索引散列值,過於集中的值加索引意義不大. 索引的類型普通索引: index 只是加快查詢速度.唯一索引: unique index 行上的值不能重複主鍵索引: primary key 不能重複.主鍵索引: primary key 不能重複.主鍵必定主鍵.一張表上,只能有一個主鍵, 但是可以用一個或多個唯一索引.全文索引 : fulltext index 在mysql的默認情況下, 對於中文意義不大.一般使用第三方解決方案 因為英文有空格,標點符號來拆成單字,進而對單字進行索引.而對於中文,沒有空格來隔開單字,mysql無法辨識每個中文字.(上述3種索引,都是針對列的值發揮作用,但全文索引,可以針對值中的某個單字,比如一篇文章,)全文索引不針對非常頻繁的詞做索引,如this, is, you, my等等。 索引長度:指定一列部分內容作為索引多列索引:兩列或多列值看做整體,當做索引。在英文網站時,first name,last name當做一個整體,此時,where條件中只有first name可以發揮作用,last name 沒有發揮作用,這就是作為的左前綴規則。 冗餘索引:某一欄位有多個索引,例如在上面last name上再次建立索引。 建立索引可以在建表時,直接聲明索引,即在列聲明完畢後,聲明索引. username varchar(20), school varchar(20), intro text, primary key (id),. (intro)
) engine myisam charset utf8;
查看一張表上所有索引
Show index from 表名
p. (列名)
Alter table 表名 add primary key (列名) // 不要加上索引名,因為主鍵只有一個 ter刪除刪除主鍵: alter table 表名 drop/add primary key