優勢
劣勢 索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄,所以索引也是占用空間的
雖然提高了查詢速度,但是會降低更新表的速度,如果對錶進行insert、update、和delete。因為更新表,不僅要儲存資料,還要儲存一下索引檔案每次更新新增了索引列的字段,都會調整更新帶來的兼職變化後的索引資訊
索引分類
單值索引
即乙個索引只包含當個列,乙個表可以有多個單列
唯一索引
索引列的值必須唯一,但允許有空值
復合索引
乙個索引包含多個列
索引結構
hash索引
full-text索引
r-tree索引
那些情況適合建立索引
主鍵自動建立唯一索引
頻繁作為查詢條件的字段應該建立索引
查詢中與其他表關聯的字段,外來鍵關係建立索引
頻繁更新的字段不適合建立索引
where條件用不到的不適合建立索引
單鍵/組合索引的選擇問題,who?(在高併發下傾向建立組合索引)
查詢中排序的字段,排序欄位若通過索引去訪問將大大提高排序速度
查詢中統計或者分組字段
那些情況下不要撿索引
表記錄少
經常增刪改的表
資料重複且分布不平均的表字段
mysql索引學習總結
最近用到mysql索引,趕緊了解了一下,最後做乙個小小的總結。索引,就是按照索引排好序的資料結構,查詢資料的時候走索引比不走索引要快很多,因為不走索引意味著全表掃瞄,而且還可能會鎖住元組,效率比較低。mysql使用b tree的索引模型,無論是myisam還是innodb。為什麼使用b 樹而不是紅黑...
mysql 索引總結 mysql索引總結
mysql中每乙個表都有乙個聚簇索引clusted index,該所索引是預設建立的,除此之外的表上的每乙個非聚簇索引都是二級索引,又叫輔助索引 secondary indexes 以innodb來說,每個innodb表具有乙個特殊的索引稱為聚集索引,如果您的表上定義有主鍵,該主鍵索引是聚集索引,如...
mysql學習總結 索引 未完
部落格位址僅此而已。回憶一下當時的想法真的很可笑,老是喜歡搞一些表面的東西,實際上當時的部落格對自己的收穫微乎其微,純屬為了 寫而寫。現在呢,實習快半年了,實習期間做了很多事情,但是回想自己的收穫,的確有進步,是什麼說不出來。參加實習的這段時間 以來,每天在公司待到十點學習新的知識,從來不曾懈怠,可...