mysql索引學習總結

2021-10-22 12:12:57 字數 671 閱讀 1107

優勢

劣勢 索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄,所以索引也是占用空間的

雖然提高了查詢速度,但是會降低更新表的速度,如果對錶進行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學習總結 索引 未完

部落格位址僅此而已。回憶一下當時的想法真的很可笑,老是喜歡搞一些表面的東西,實際上當時的部落格對自己的收穫微乎其微,純屬為了 寫而寫。現在呢,實習快半年了,實習期間做了很多事情,但是回想自己的收穫,的確有進步,是什麼說不出來。參加實習的這段時間 以來,每天在公司待到十點學習新的知識,從來不曾懈怠,可...