您好,登錄后才能下訂單哦!
索引的分類:
普通索引、主鍵索引、唯一索引、全文索引、復合(組合)索引。
何時創建索引:
(1) 較頻繁的作為查詢條件的字段;
(2) 唯一性太差的字段(如性別/狀態字段等),即使我們頻繁作為查詢的條件,勻不適合創建索引;
(3) 數據更新非常頻繁的字段(如統計平臺當前的在線人數字段/商品的銷售數量字段等)是不適合創建索引。
3. 創建索引(也可用可視化工具直接創建,這里我們用代碼演示):
(1) 普通索引:
create index 索引名 on 表名(表字段)
(2) 主鍵索引:
在創建表時,設定主鍵字段,如id,即為主鍵索引。
(3) 唯一索引:
① 如果字段設置了唯一約束條件(unique),該字段便是一個唯一索引了;
② 直接創建唯一索引: create unique index 索引名 on 表名(字段1,字段2...)
(4) 全文索引:
顧名思義,全文索引主要就是文件、文本(如商品詳情、文章、新聞等等)之類的一個檢索。
注意:使用全文索引,表的引擎必須設置為MyISAM,否則無效。
① 創建: create fulltext index 索引名 on 表名(字段1,字段2...)
②使用:
I ) selete 字段1,字段2... from 表名 where match(匹配對應的全文索引字段) against(模糊檢索的飛中文字符串)。
II) where條件不能用: 全文索引字段like‘%字符串%’,不然全文索引無效。
III) mysql提供的fulltext只針對英文有效,處理中文要用sphinx(coresseek)技術做中文處理,后期將講述sphinx(coresseek)安裝和使用;
③組合索引:
create index 索引名 on 表名(字段1,字段2...)
4.索引的代價:
(1). 創建索引是需要開銷的,會占用一定的磁盤空間;
(2). 索引數據牽引難度大;
(3). 為了維護索引文件,會導致增、刪、改操作變慢。
小常識:1. show index from 表名 , 可以查看對應的表詳細使用索引情況;
2. explain : 在sql不執行的情況下,就可以看到sql的詳細執行情況,便于我們分析sql和優化sql。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。