mysql--------四種索引類型

1、索引的類型 mysql

mysql索引的四種類型:主鍵索引惟一索引普通索引全文索引。經過給字段添加索引能夠提升數據的讀取速度,提升項目的併發能力和抗壓能力。索引優化時mysql中的一種優化方式。索引的做用至關於圖書的目錄,能夠根據目錄中的頁碼快速找到所需的內容算法

 

    主鍵索引:
        主鍵是一種惟一性索引,但它必須指定爲PRIMARY KEY,每一個表只能有一個主鍵。
sql

alert table tablename add primary key (`字段名`)

  惟一索引:
        索引列的全部值都只能出現一次,即必須惟一,值能夠爲
數據庫

alter table table_name add primary key (`字段名`);

  普通索引 :
        基本的索引類型,值能夠爲空,沒有惟一性的限制。
併發

alter table table_name add index (`字段名`);

  全文索引:
        全文索引的索引類型爲FULLTEXT。全文索引能夠在varchar、char、text類型的列上建立。能夠經過ALTER TABLE或CREATE INDEX命令建立。對於大規模的數據集,經過ALTER TABLE(或者CREATE INDEX)命令建立全文索引要比把記錄插入帶有全文索引的空表更快。MyISAM支持全文索引,InnoDB在mysql5.6以後支持了全文索引。        全文索引不支持中文須要借sphinx(coreseek)迅搜<、code>技術處理中文。
性能

alter table 表名 add FULLTEXT(`字段名`);

2、查看錶的全部索引和刪除mysql索引

#查看:
    show indexes from `表名`;
    #或
    show keys from `表名`;
     
    #刪除
    alter table `表名` drop index 索引名;

3、索引的機制優化

1.爲何咱們添加完索引查詢速度爲變快
    傳統的查詢方法,是按照表的順序遍歷的,不論查詢幾條數據,mysql須要將表的數據從頭至尾遍歷一遍
    在咱們添加完索引以後,mysql通常經過BTREE算法生成一個索引文件,在查詢數據庫時,找到索引文件進行遍歷(折半查找大幅查詢效率),找到相應的鍵從而獲取數據

2.索引的代價
    2.1建立索引是爲產生索引文件的,佔用磁盤空間
    2.2索引文件是一個二叉樹類型的文件,可想而知咱們的dml操做一樣也會對索引文件進行修改,因此性能會降低

3.在哪些column上使用索引?
    3.1較頻繁的做爲查詢條件字段應該建立索引
    3.2惟一性太差的字段不適合建立索引,儘管頻繁做爲查詢條件,例如gender性別字段
    3.3更新很是頻繁的字段不適合做爲索引
    3.4不會出如今where子句中的字段不應建立索引

總結: 知足如下條件的字段,才應該建立索引.
a: 確定在where條常常使用 b: 該字段的內容不是惟一的幾個值 c: 字段內容不是頻繁變化
spa

相關文章
相關標籤/搜索