mysql索引類型normal,unique,full text的區別是什么?
normal:表示普通索引
unique:表示唯一的,不允許重復的索引,如果該字段信息保證不會重復例如身份證號用作索引時,可設置為unique
full textl: 表示 全文搜索的索引。 FULLTEXT 用於搜索很長一篇文章的時候,效果最好。用在比較短的文本,如果就一兩行字的,普通的 INDEX 也可以。
總結,索引的類別由建立索引的字段內容特性來決定,通常normal最常見。
PRIMARY, INDEX, UNIQUE 這3種是一類
PRIMARY 主鍵。 就是 唯一 且 不能為空。
INDEX 索引,普通的
UNIQUE 唯一索引。 不允許有重復。
FULLTEXT 是全文索引,用於在一篇文章中,檢索文本信息的。
舉個例子來說,比如你在為某商場做一個會員卡的系統。
這個系統有一個會員表
有下列字段:
會員編號 INT
會員姓名 VARCHAR(10)
會員身份證號碼 VARCHAR(18)
會員電話 VARCHAR(10)
會員住址 VARCHAR(50)
會員備注信息 TEXT
那么這個 會員編號,作為主鍵,使用 PRIMARY
會員姓名 如果要建索引的話,那么就是普通的 INDEX
會員身份證號碼 如果要建索引的話,那么可以選擇 UNIQUE (唯一的,不允許重復)
會員備注信息 , 如果需要建索引的話,可以選擇 FULLTEXT,全文搜索。
不過 FULLTEXT 用於搜索很長一篇文章的時候,效果最好。
用在比較短的文本,如果就一兩行字的,普通的 INDEX 也可以
問題2:在實際操作過程中,應該選取表中哪些字段作為索引?
為了使索引的使用效率更高,在創建索引時,必須考慮在哪些字段上創建索引和創建什么類型的索引,有7大原則:
1.選擇唯一性索引
2.為經常需要排序、分組和聯合操作的字段建立索引
3.為常作為查詢條件的字段建立索引
4.限制索引的數目
5.盡量使用數據量少的索引
6.盡量使用前綴來索引
7.刪除不再使用或者很少使用的索引