Mysql索引介紹及常見索引(主鍵索引、唯一索引、普通索引、全文索引、複合式索引)的區別

來源:互聯網
上載者:User

標籤:

Mysql索引概念:
說說Mysql索引,看到一個很少比如:索引就好比一本書的目錄,它會讓你更快的找到內容,顯然目錄(索引)並不是越多越好,假如這本書1000頁,有500也是目錄,它當然效率低,目錄是要佔紙張的,而索引是要佔磁碟空間的。
Mysql索引主要有兩種結構:B+樹和hash.

hash:hsah索引在mysql比較少用,他以把資料的索引以hash形式組織起來,因此當尋找某一條記錄的時候,速度非常快.當時因為是hash結構,每個鍵只對應一個值,而且是散列的方式分布.所以他並不支援範圍尋找和排序等功能.
B+樹:b+tree是mysql使用最頻繁的一個索引資料結構,資料結構以平衡樹的形式來組織,因為是樹型結構,所以更適合用來處理排序,範圍尋找等功能.相對hash索引,B+樹在尋找單條記錄的速度雖然比不上hash索引,但是因為更適合排序等操作,所以他更受使用者的歡迎.畢竟不可能只對資料庫進行單條記錄的操作. 
Mysql常見索引有:主鍵索引、唯一索引、普通索引、全文索引、複合式索引

PRIMARY KEY(主鍵索引)  ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引)     ALTER TABLE `table_name` ADD UNIQUE (`column`)
INDEX(普通索引)     ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) FULLTEXT(全文索引)      ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
複合式索引   ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 

Mysql各種索引區別:
普通索引:最基本的索引,沒有任何限制
唯一索引:與"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。
主鍵索引:它 是一種特殊的唯一索引,不允許有空值。 
全文索引:僅可用於 MyISAM 表,針對較大的資料,產生全文索引很耗時好空間。
複合式索引:為了更多的提高mysql效率可建立複合式索引,遵循”最左首碼“原則。

轉載請註明地址: http://www.phpddt.com/db/mysql-index.html 尊重他人勞動成果就是尊重自己!

Mysql索引介紹及常見索引(主鍵索引、唯一索引、普通索引、全文索引、複合式索引)的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.