Mysql中的索引

衆所周知,索引可以加快查詢的速度,相似看書的時候先查目錄以後再翻到具體那一頁。mysql

1、普通索引,主鍵索引,惟一索引,聯合索引sql

Mysql中索引分爲:普通索引,主鍵索引,惟一索引,聯合索引。mysql的innodb引擎建立索引的時候默認使用B+數數據結構。                                              innodb 不支持hash的數據結構數據結構

    1.主鍵索引
spa

        在mysql中主鍵索引默認是彙集索引。主鍵索引不可重複。
orm

        primary (key)
索引

        alter table test add primary key (id)hash

    2.普通索引 
it

    alter table test add index index_test (name) innodb

    若是是字符類型,則支持指定索引字段長度table

     alter table test add index index_test (name(10)) 

    3.惟一索引

    惟一索引的字段值不能重複,能夠爲空。

    alter table test add index index_test ()

    4.聯合索引

    聯合索引就是多個字段組成的普通索引或者惟一索引。

    alter table test add index index_test (id,name) using btree

2、相關sql語句

        查詢表的索引

        show index from test


3、彙集索引和非彙集索引  也稱爲聚簇索引

    1。彙集索引    

            彙集索引一張表只能存在一個。

            彙集索引是物理上連續的,按照彙集索引的順序來存儲實際的數據。

                mysql中的innodb引擎支持彙集索引,在mysql中主鍵索引就是彙集索引。

4、覆蓋索引

    覆蓋索引正如其名,意思就是索引中直接存了實際數據,這樣能夠直接從索引中拿到數據。不用再根據索引指向的地址去取數據。

相關文章
相關標籤/搜索