為什麼要加索引?
提高查詢效率 -- 類似乙個字典裡 新增了目錄
索引的分類:
(一)、普通索引
(二)、唯一索引 可以是組合索引。 索引可以是空,必須唯一,不一定是主鍵
(三)、全文索引 一般用在搜尋文章內容,避免用like
(四)、組合索引(最左字首) 比如乙個組合索引是title(50),time(10) 這時where條件中生效情景:1、where title =1 and time=1 2、where title = 1
當where time =2 時不生效
當有多個索引時,最嚴格的索引生效。
聚集索引和非聚集索引:
區別類似與arraylist和hashmap
當然對應底層就是陣列和鍊錶
聚集索引查詢出來的結果就是按照對應索引進行排好序的,到時候直接定位就行
而非聚集索引查詢出來的時候是無順序的。查詢的時候分兩步走,先定位到位址,再定位到具體位置
索引的一些思考
一 索引是什麼?答 索引是一種資料結構,它和表中的列有對應關係,索引是有序的,但資料的物理排序不一定是按照索引的順序排列的。如果是按照索引排序的,則稱為聚集索引 如果不是,則稱之為非聚集索引。由於聚集索引會影響到資料的物理排序,所以每個表只能有乙個聚集索引,但可以有多個非聚集索引。例子解釋 1 cr...
新建索引的一些原則
1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引 7 ...
mysql索引的一些概念
在mysql中,建立索引的時候一般可選的索引型別有 普通索引 normal 最基本的索引,沒有任何限制 唯一索引 unique 索引列的值必須唯一,但允許有空值,全文索引 fulltext 效果類似like,但是比like效率高,多用於大文字欄位的檢索。還有乙個主鍵索引,預設建表指定了主鍵就自動建立...